遍历页面上的所有<div>标记

Sam*_*Lee 31 html javascript iteration recursion

我想使用Javascript浏览页面上的所有元素,看看它们是否有属性集.有没有一种简单的方法可以做到这一点,还是我必须使用递归解决方案?

Jos*_*lio 74

您可以使用:

var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
   //do something to each div like
   divs[i].innerHTML = "something new...";
}
Run Code Online (Sandbox Code Playgroud)

  • 最好使用标准的"for"循环 - "for in"循环用于迭代对象. (3认同)
  • 此外,缓存数组的长度可提高性能.例如:"for(var i = 0,l = divs.length; i <l; i ++)"...... (3认同)
  • 我可以加上从divs.length-1向下计数到0,而不是向上,会稍微快一点,大部分时间都不会引起注意,但是在某些时候它可能会派上用场. (2认同)
  • Sam Lee在这个答案中找到了他想要的财产吗? (2认同)

Koo*_*Inc 9

要在页面上的所有div中的一个或多个中查找属性,请执行以下操作:

var divs = document.getElementsByTagName("div"), i=divs.length;
while (i--) {
   if (divs[i].getAttribute([yourProperty]) === 'yourValue'){
      //do something
   } 
}
Run Code Online (Sandbox Code Playgroud)