通过用户类型识别节点的Javascript DOM

Javascript DOM identifying nodes by user type?

本文关键字:Javascript DOM 节点 识别 用户 类型      更新时间:2023-09-26

如果我有一个带有一些tr子节点的tbody,我如何为每个tr指定一个用户指定的值来识别它?

例如,我想做一些类似的事情:

mytr1 = mytbody.createElement('tr');
mytr2 = mytbody.createElement('tr');
mytr1.userident = 'firstname';
mytr2.userident = 'lastname';
tbody.appendChild(mytr1);
tbody.appendChild(mytr2);

然后有能力让一个孩子访问它的兄弟姐妹,比如:

mystr1.parentNode.getByUserident('lastname')

我不想使用id,因为对象是动态创建和销毁的,并且名称对tr元素无效。

您可以使用数据集
它是HTML5,但它得到了相当的支持。数据集支持

以下是如何使用它们:

mytr1 = mytbody.createElement('tr');
mytr2 = mytbody.createElement('tr');
mytr1.dataset.userident = 'firstname';
mytr2.dataset.userident = 'lastname';
tbody.appendChild(mytr1);
tbody.appendChild(mytr2);


为了访问它们,
意味着您正在使用事件绑定和处理:

var userident = evt.target.dataset.userident;


编辑

事实上,现在所有浏览器都支持它
唯一部分支持的部分是访问.dataset属性
只需在元素上使用.getAttribute('data-userident').setAttribute('data-userident','firstname')