错误:getElementsByClassName() 使用 Array.forEach 进行结果迭代
尝试使用 getElementsByClassName() 和数组迭代 DOM 元素时。 forEach 方法,用户可能会遇到错误,因为 getElementsByClassName() 不返回一个数组。
getElementsByClassName() 的结果是一个 HTMLCollection,在现代浏览器中,它与数组不同。要解决此问题,请在使用 forEach 之前将 HTMLCollection 转换为数组。这可以通过以下方法实现:
var els = document.getElementsByClassName("myclass"); Array.prototype.forEach.call(els, function(el) { // Do stuff here console.log(el.tagName); });
[].forEach.call(els, function (el) { // Do stuff here console.log(el.tagName); });
Array.from(els).forEach((el) => { // Do stuff here console.log(el.tagName); });
以上是如何在 JavaScript 中正确迭代 `getElementsByClassName()` 结果?的详细内容。更多信息请关注PHP中文网其他相关文章!