Можно еще вопрос? :)
Когда делаю вложенность все работает
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, время: 21:41. |