Показать сообщение отдельно
  #15 (permalink)  
Старый 08.09.2021, 17:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Lexx,
<body>
    <script>
        function Templater() {
            let str = '';
            let tags = {
                getFullName(tagSpan, up = '') {
                    return tagSpan.length ? tagSpan.map(a => `${a}${up}`).join(' ') : '';
                },
                span(...tagSpan) {
                    str += `<span>${this.getFullName(tagSpan, '!!!')}</span>`
                    return this;
                },
                p(...tagSpan) {
                    str += `<p>${this.getFullName(tagSpan)}</p>`
                    return this;
                },
                toString() {
                    return str
                }
            };
            return tags;
        }
        const template = Templater().p(
            Templater().span('Hello'),
            Templater().span('World')
        )
        document.body.append(template);
        const temp = Templater().p(
            Templater().span('test').span('span')
        ).toString();
        document.write('<br>')
        document.body.append(temp);
    </script>
</body>
Ответить с цитированием