栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 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号