为了账号安全,请及时绑定邮箱和手机立即绑定

HTML 元素是否具有 DOM 的“隐藏索引”?

HTML 元素是否具有 DOM 的“隐藏索引”?

大话西游666 2022-01-07 13:12:53
例如,document.getElementsByClassName("whatever")返回一个元素列表,每个元素都有一个索引(例如,元素 x 是该列表中的 [3])。HTML 元素是否以某种方式将该索引保存在元素内?还是他们“不知道”自己的立场?我对该属性的使用示例:您使用event.targetwhen单击具有“人”类的元素onclick。因此,您想知道它在“人员”列表中的位置。假设它是event.target.classNameIndex. 所以一旦你知道了索引,你就可以在 JavaScript 中做事了。显然,我能想到的简单替代方法是简单地选择 event.target 并在getElementsByClassName列表中搜索它。或者只是为所有元素提供 ID。但避免这种情况会很好。希望你能理解我的问题。:)
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

元素是动态或静态生成的,并且在显示后独立于对它们所做的一切。有纯 javascript 方法可以获取类数组结构中元素的索引,但它们很可能取决于element.onClick函数的使用并通过某种选择器将它们与其他元素配对。


查看完整回答
反对 回复 2022-01-07
?
萧十郎

TA贡献1815条经验 获得超13个赞

不,有很多原因。

首先,您正在对内部 DOM 结构进行查询,并且 DOM 树本身可能会在您查询后立即更改。可以添加、移动或删除元素。

此外,两个非常不同的查询可能具有重叠的结果。例如查询 1 可能返回:

[ <div id="a">, <div id="b"> ]

虽然查询 2 可以返回:

[ <div id="b">, <div id="c"> ]

(为简单起见,我将结果表示为数组)
在上面,<div id="b">考虑到真正无限量的可能查询,元素如何知道其唯一且不变的“索引”,而不是再次提及可能的变量 DOM?


查看完整回答
反对 回复 2022-01-07
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号