栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

HTMLCollection,NodeList和对象数组之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HTMLCollection,NodeList和对象数组之间的区别

首先,我将解释之间的差异

NodeList
HTMLCollection

两个接口是 集合
DOM节点。它们在提供的方法和可以包含的节点类型方面有所不同。尽管

NodeList
可以包含任何节点类型,但是
HTMLCollection
假定仅包含元素节点。
一个
HTMLCollection
提供相同的方法作为一个
NodeList
和另外一个被调用的方法
namedItem


当必须提供对多个节点的访问时,总是使用集合,例如,大多数选择器方法(例如

getElementsByTagName
)返回多个节点或获取对所有子节点的引用(
element.childNodes
)。

有关更多信息,请查看DOM4规范-Collections。

document.getElementsByTagName("td")
和之间有什么区别
$("td")

getElementsByTagName
是DOM接口的方法。它接受标记名称作为输入并返回
HTMLCollection
(请参阅DOM4规范)。

$("td")
大概是jQuery。它接受任何有效的CSS / jQuery选择器并返回jQuery对象。

标准DOM集合和jQuery选择之间的最大区别是DOM集合 通常是
实时的(尽管并非所有方法都返回实时集合),即,如果DOM的任何更改受到影响,都会反映在集合中。它们就像是DOM树上的 视图
,而jQuery选择是调用函数时DOM树的快照。

为什么console.log还会在它们旁边显示DOM元素的数组,而它们不是对象也不是数组?

jQuery对象是 类似于数组的
对象,即它们具有数值属性和一个

length
属性(请记住,数组本身就是对象本身)。浏览器倾向于以特殊方式显示数组和类似数组的对象,例如
[ ... ,... , ... ]

什么是难以捉摸的“ NodeLists”,以及如何选择一个?

请参阅我的答案的第一部分。您不能 选择

NodeList
s,它们是 选择结果

据我所知,甚至没有办法以

NodeList
编程方式创建s(即创建一个空的并稍后添加节点),它们仅由某些DOM方法/属性返回。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432318.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号