javascript - 遍历 JavaScript "getElementsByTagName()"对象

标签 javascript html object

如何正确地循环遍历从选择器上的“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";
   }
}

Demo

关于javascript - 遍历 JavaScript "getElementsByTagName()"对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23866260/

相关文章:

javascript - 使用 jQuery UI 小部件时如何发现所有可用属性?

jquery - 如何禁用特定输入字段的自动填充

mysql - 渲染部分帮助和故障

javascript - ES6实现这个功能?

Javascript 在客户端无法访问的情况下解密文件

javascript - Node.js 文档未定义

javascript - ChartJS 2.0 - 饼图上的 Huddle 标签

javascript - 通过 ListView 的 ItemInvoked 事件以编程方式设置输入框的焦点 [Windows 8 Metro HTML5]

javascript - 实现付费墙 : to avoid cloaking issues with paywall notice, 我应该在 HTML 中还是在 JSON-LD 中指定它?

java - Java 是否完全遵循面向对象的编程模型?