当前位置: 首页 > 面试题库 >

JS:使用Array.forEach遍历getElementsByClassName的结果

满昊然
2023-03-14
问题内容

我想遍历一些DOM元素,我正在这样做:

document.getElementsByClassName( "myclass" ).forEach( function(element, index, array) {
  //do stuff
});

但我得到一个错误:

document.getElementsByClassName(“ myclass”)。forEach不是函数

我使用的是Firefox 3,所以我知道这两个getElementsByClassNameArray.forEach都存在。这工作正常:

[2, 5, 9].forEach( function(element, index, array) {
  //do stuff
});

getElementsByClassName数组的结果吗?如果没有,那是什么?


问题答案:

不需要。如DOM4中所指定,它是一个HTMLCollection(至少在现代浏览器中。较旧的浏览器返回NodeList)。

在所有现代浏览器(几乎所有其他IE<=8)中,您都可以调用Array的forEach方法,并将其元素列表(为HTMLCollectionorNodeList)作为this值传递给它:

var els = document.getElementsByClassName("myclass");

Array.prototype.forEach.call(els, function(el) {
    // Do stuff here
    console.log(el.tagName);
});

// Or
[].forEach.call(els, function (el) {...});

如果您可以使用ES6感到满意(例如,您可以放心地忽略InternetExplorer或使用ES5编译器),则可以使用Array.from

Array.from(els).forEach((el) => {
    // Do stuff here
    console.log(el.tagName);
});


 类似资料:
  • 问题内容: 我有以下JSON响应,但是我不确定如何正确循环通过它并使用它。 下面的代码向我提醒DepartmentID为1,然后命名为’dept1’,然后为: 我要做的就是使用部门信息创建一个div,并在其中创建另一个div,其中包括该部门的类别信息。 问题答案:

  • 本文向大家介绍js遍历map javaScript遍历map的简单实现,包括了js遍历map javaScript遍历map的简单实现的使用技巧和注意事项,需要的朋友参考一下 js遍历map javaScript遍历map的简单实现 这样会把map给遍历掉,显示在浏览器上的控制器里。 以上这篇js遍历map javaScript遍历map的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参

  • 问题内容: 我有这样的html结构。我想获取没有类或ID的第二张表。我如何从中获得第二张桌子? 我正在尝试这样 谁能帮我? 问题答案: 您想遍历元素吗?最好从像 您只能这样做。

  • 问题内容: 我可以在varArgs上使用还是在varArgs上使用? 问题答案: 变量参数的行为与数组相似,因此您可以使用来获取变量变量中的一个: 您可以使用以下方法遍历它们:

  • 问题内容: 我有一个需要迭代的JSON文件,如下所示… 数据中的键并不总是相同的(我只是使用示例,有20个不同的键),因此,我无法设置脚本来静态引用它们以获取值。 否则我可以说 过去我在数据节点上使用了一个简单的foreach循环… 但是不想阻止脚本。有任何想法吗? 问题答案: 您可以通过以下方式遍历JavaScript对象: myobject可能是您的json.data

  • dataList是一个数组,我想遍历找到返回条件的数据,我下面写的为什么不行? 但改成下面的就可以: