【发布时间】:2020-03-04 20:44:43
【问题描述】:
除了内部HTML 外,一切正常。我从父母那里得到名字,但只要我在代码中添加innerHTMl,它就不起作用了。我想从循环中的每个父母那里得到innerHTML,数组...,我不知道为什么它不起作用,我错在哪里?
例子:
function myFunction() {
var divs = Array.prototype.slice.call(document.getElementById("container").querySelectorAll('*'));
var divsname = Array.prototype.slice.call(document.getElementsByClassName("parent"));
var divshtml = Array.prototype.slice.call(document.getElementsByClassName("parent")).querySelectorAll('*').innerHTML;
// Loop over the array
var results = "";
var name = "";
divsname.forEach(function(div) {
name += div.getAttribute("name");
var innerhtml = "";
divs.forEach(function(div) {
innerhtml += divshtml;
});
results = "<br> Div element" + name + "have innerHTML" + innerhtml + ".";
});
document.getElementById("demo").innerHTML = results;
}
<div id="container">
<div class="parent" name="parentone">
<div id="childone" style="height:10px">
<div id="childtwo" style="background-color:red"></div>
</div>
</div>
<div class="parent" name="parenttwo">
<div id="childthree" style="height:10px"></div>
</div>
</div>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
请指导我解决这个问题。
谢谢
【问题讨论】:
-
results = "<br> Div element" + name + "have innerHTML" + innerhtml +,这是由于尾随算术运算符导致的语法错误。当浏览器读取这一行时,一切都会停止。您确定您阅读了浏览器控制台日志吗? -
我在电脑上打错了,但还是不行
标签: javascript arrays loops foreach innerhtml