Переместить childall
из цикла и назначить ему массив. Теперь вставьте в него все значения innerHTML. После окончания цикла присоедините массив к строке и присвойте демо.
function myFunction() {
var child = document.querySelectorAll(".child");
var child, i;
var childall = [];
for (i = 0; i < child.length; i++) {
childall.push(child[i].innerHTML);
}
document.getElementById("demo").innerHTML = childall.join('<br>');
}
<div class="parent" id="parent">
<div class="child" id="child">Hello</div>
<div class="child" id="child">World!</div>
</div>
<button onclick="myFunction()">click</button>
<div class="demo" id="demo">
Вместо цикла for можно использовать Array.from()
, чтобы получить массив детей innerHTML
.
function myFunction() {
const childall = Array.from(document.querySelectorAll(".child"), el => el.innerHTML);
document.getElementById("demo").innerHTML = childall.join('<br>');
}
<div class="parent" id="parent">
<div class="child" id="child">Hello</div>
<div class="child" id="child">World!</div>
</div>
<button onclick="myFunction()">click</button>
<div class="demo" id="demo">