Можно еще вопрос? :)
Когда делаю вложенность все работает Test().p( Test().span('test').span('span') ).toString() Но как сделать защиту или замену запятой на + при вводе Test().p( Test().span('test'), Test().span('span') ).toString() при таком варианте выводит только первый span и корректно заrрывает </p> была бы переменная, я сделал бы через .replace, а тут хз как быть Можно просто подсказать куда копать :) Большое спасибо |
Lexx,
Test().p что это? |
Цитата:
Test().p(Test().span('test'),Test().span('span')).toString() По сути на выходе должно быть так "<p><span>test</span><span>span</span></p>" Но так получается или с + вместо запятой или если убрать это объявление Test().p(Test().span('test'),Test().span('span')).toString() |
Вот не могу понять как убрать лишний ,Test() или как-то заменить запятую на +
|
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> |
спасибо, буду разбирать что да как
|
Часовой пояс GMT +3, время: 02:04. |