gpt4 book ai didi

DOM 对象的 Javascript 集合 - 为什么我不能使用 Array.reverse() 反转?

转载 作者:可可西里 更新时间:2023-11-01 02:30:04 26 4
gpt4 key购买 nike

如以下代码所示,反转 DOM 对象数组可能会出现什么问题:

var imagesArr = new Array();
imagesArr = document.getElementById("myDivHolderId").getElementsByTagName("img");
imagesArr.reverse();

在 Firefox 3 中,当我调用 reverse() 方法时,脚本停止执行并在 Web Developer Toolbar 的控制台中显示以下错误:

imagesArr.reverse is not a function

imagesArr变量可以用for循环遍历,可以访问到imagesArr[i]这样的元素,为什么调用时看不到数组reverse() 方法?

最佳答案

因为 getElementsByTag name 实际上返回的是一个 NodeList 结构。为了语法方便,它具有类似数组的索引属性,但它不是数组。例如,条目集实际上是不断动态更新的——如果你在 myDivHolderId 下添加一个新的 img 标签,它将自动出现在 imagesArr 中。

参见 http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177了解更多。

关于DOM 对象的 Javascript 集合 - 为什么我不能使用 Array.reverse() 反转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com