Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Вставка тегов методом innerHTML (https://javascript.ru/forum/events/69421-vstavka-tegov-metodom-innerhtml.html)

Luca 21.06.2017 11:13

Вставка тегов методом innerHTML
 
Здравствуйте.

index.html
<div id="app">
   </div>
<script src="main.js"></script>

main.js
let app = document.getElementById('app');
app.innerHTML+="<ul>";
for(let i=0; i<3; i++)
   app.innerHTML += `<li>innerText${i}</li>`;
app.innerHTML+="</ul>";

Получается:
<ul></ul>
<li>innerText0</li>
<li>innerText1</li>
<li>innerText2</li>


Почему так получается? Почему тег <ul> закрывается сразу?

ksa 21.06.2017 11:16

Цитата:

Сообщение от Luca
Почему тег <ul> закрывается сразу?

Это браузер так делает за тебя...

Формируй всю строку, потом присваивай.
Или пользуйся нативными методами создания и вставки элементов...

j0hnik 21.06.2017 13:04

<html>
<head>
	<meta charset="utf-8">
</head>
<body>
	<script>
var el = document.createElement('ul'), i=3;
while(i--) el.innerHTML += '<li>innerText</li>';
document.body.appendChild(el);
	</script>
</body>
</html>


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