javascript - 为什么 JavaScript NodeList 是不可变的?

标签 javascript nodelist

最近我发现元素的 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/

相关文章:

javascript - 将套接字数据从一个用户 session 非异步传递到另一个用户 session

javascript - NodeList.prototype.forEach = Array.prototype.forEach;

JavaScript 节点列表

javascript - 使用元素的nodeList "childNodes"。为什么没有删除container2?

javascript - 如何根据 JavaScript 中哪个 nodeList 不为空来设置变量?

javascript - JQuery - 查找未包含在标签中的文本

php - 在 Scriptaculous 中传递自动完成中的 ID 值

javascript - $scope 未绑定(bind)到 Angular JS 中的函数内部

javascript - 以 Angular 将文本转换为html格式

dom - 如何获取节点列表中每个元素的 innerHTML