如何正确地循环遍历从选择器上的“getElementsByTagName()”返回的对象。我好像没弄对。
例如,如果我有一堆这样的 div:
<div class="wrapper">
<div class="test1">this is a div</div>
<div class="test2">this is a div</div>
<div class="test1">this is a div</div>
<div class="test2">this is a div</div>
<div class="test1">this is a div</div>
<div class="test2">this is a div</div>
</div>
我想像这样遍历“getElementsByTagName()”的结果:
var wrapper = document.querySelector(".wrapper");
var divs = wrapper.getElementsByTagName("div");
for (i = 0; i < divs.length; ++i) {
each = divs[i];
if (each.classList.contains("test2")) {
this.style.display = "none";
}
}
这是一个 fiddle :http://jsfiddle.net/Y2Yzv/1/
最佳答案
控制台出现错误:Uncaught TypeError: Cannot set property 'display' of undefined
尝试:
var wrapper = document.querySelector(".wrapper");
var divs = wrapper.getElementsByTagName("div");
for (i = 0; i < divs.length; ++i) {
each = divs[i];
if (each.classList.contains("test2")) {
each.style.display = "none";
}
}
关于javascript - 遍历 JavaScript "getElementsByTagName()"对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23866260/