【发布时间】:2020-02-24 02:06:10
【问题描述】:
在“demo” div 中,我想显示所有元素的 getAttribute id 和样式(在本例中为两个元素 demoe 和 demotwo)。 如果我删除循环,则只显示第一个元素 id 和 style 并且一切正常。一旦我添加循环停止工作,我错了。
function myFunction() {
var divs = document.querySelectorAll('*'),
i;
for (i = 0; i < divs.length; ++i) {
var div = divs[i];
var id = document.getElementById(div).getAttribute("id");
var sty = document.getElementById(div).getAttribute("style");
document.getElementById("demo").innerHTML = "Id element: " + id + " Style element: " + sty + "";
}
}
<div id="demoone" style="width:50px;height:60px;">One</div>
<div id="demotwo" style="width:30px;height:40px;">Two</div>
<button onclick="myFunction()">Try it</button>
<div id="demo"></div>
【问题讨论】:
-
您将使用循环遍历您的按钮和演示 div。可能最好给您的演示 div 一个匹配的类或将它们包装在另一个 div 中,以便您可以定位它们。此外,不确定“i”在您的 queryselectorAll 之后做了什么,并且您最终将覆盖演示 InnerHTML 中的文本,因为您没有附加到它(您每次都在设置它)
标签: javascript loops dom queryselectall