繁体   English   中英

用JavaScript识别不唯一的DOM元素的正确方法

[英]Proper way to identify not unique DOM elements with javascript

给定一个祖先元素,其中只包含我要查找的元素的一个副本(例如一个表),因此我需要使用在页面上其他位置(例如,在同一张表的不同行中)具有自身副本的javascript元素进行标识行)。

使用id不好,因为id在整个文档中应该是唯一的。

有时使用class是有意义的,但是我不认为为此目的添加类是一个好主意,尤其是因为这种用法与样式或与具有相同类名的元素的统一功能无关。

我现在正在做的是:

使用name属性作为输入。

其他元素的自定义属性( data-name / data-role /等)。

我做对了吗? 有一个广泛接受的标准来做到这一点吗?

HTML类不仅用于CSS,而且还用于使用javascript将元素分组在一起。

为了避免使可能容易完成的任务变得过于复杂,建议您将要分组的元素分配给同一类,而不是对每个元素使用不同的方法。

然后,如果您要选择具有特定祖先的这些元素组,则可以继续选择

document.getElementById("someAncestor").getElementsByClassName("child");

如果相反,则要获取具有相同类的所有元素,并检查它们是否具有相同的祖先(可能重复)。 您可以使用相同的类名存储所有元素,然后使用循环检查它们是否具有相同的parentNode

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM