最近我发现元素的 childNodes 属性返回的是 NodeList 而不是数组。现在我明白 NodeList 意味着是元素的实时集合,但我不明白为什么这会阻止它具有像 indexOf 或什至推送这样的方法。
谁能解释一下为什么你对 NodeList 唯一能做的就是索引它?
最佳答案
因为这是指定的方式。 DOM API 是独立于 JavaScript 设计的。 NodeList
与 JavaScript 数组有一些共同点(length
和索引)这一事实只是......好吧,这可能不是巧合 ,而是设计过程中输入的副产品。请记住,JavaScript 不是唯一具有 DOM 绑定(bind)的语言。
您可以使用 DOM API 轻松地影响 NodeList
的内容:
...或者当然,您最喜欢的 JavaScript 库。
关于javascript - 为什么 JavaScript NodeList 是不可变的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5961865/