3

最近我发现一个元素的 childNodes 属性返回一个 NodeList 而不是一个数组。现在我明白 NodeList 意味着是元素的实时集合,但我不明白为什么这会阻止它使用 indexOf 甚至 push 等方法。

谁能解释为什么你可以用 NodeList 做的唯一事情就是索引它?

4

2 回答 2

4

因为这是它指定的方式。DOM API 是与 JavaScript 分开设计的。NodeList与 JavaScript 数组(和索引)有一些共同点的事实length只是......好吧,这实际上可能不是巧合,而是设计过程中输入的副产品。请记住,JavaScript 不是唯一具有 DOM 绑定的语言。

NodeList您可以使用 DOM API轻松地影响 a 的内容:

...或者当然,你最喜欢的 JavaScript 库。

于 2011-05-11T09:20:41.547 回答
0

我的印象是,情况确实如此,因此您必须使用正确的 DOM 机制来更改 DOM 结构。

看看它的兼容性问题,无论如何使用 DOM 方法可能更安全:

http://reference.sitepoint.com/javascript/NodeList

于 2011-05-11T09:19:06.860 回答