Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вставить текст (https://javascript.ru/forum/dom-window/70706-vstavit-tekst.html)

ureech 27.09.2017 10:28

Вставить текст
 
Привет. Нужно получить строку такого вида
<span>строка1<aside>строка2</aside>строка3</span>


var span = document.createElement('span');
var aside = document.createElement('aside');
var text1 = document.createTextNode('строка2');
var text2 = document.createTextNode('строка1...строка3');
aside.appendChild(text1);


Как вставить в text2 - aside.appendChild(text1)?

рони 27.09.2017 10:39

ureech,
что мешает создать все 5 элементов в нужном порядке или один span с innerHTML или insertAdjacentHTML?

Dilettante_Pro 27.09.2017 10:48

Если делать по порядку - никаких проблем
<body>
</body>
<script>
var span = document.createElement('span');
var aside = document.createElement('aside');
var text1 = document.createTextNode('строка1');
var text2 = document.createTextNode('строка2');
var text3 = document.createTextNode('строка3');
aside.appendChild(text2);
span.appendChild(text1);
span.appendChild(aside);
span.appendChild(text3);
document.querySelector('body').appendChild(span);
</script>

ureech 27.09.2017 10:55

Спасибо. Думал может как то "одной строкой" можно.) Использую наверное лучше innerHTML.

j0hnik 27.09.2017 11:29

document.body.insertAdjacentHTML('beforeend', '<span>строка1<aside>строка2</aside>строка3</span>');


Часовой пояс GMT +3, время: 03:34.