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

标签 javascript dom

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

例如我想做这样的事情:

mytr1 = mytbody.createElement('tr');
mytr2 = mytbody.createElement('tr');

mytr1.userident = 'firstname';
mytr2.userident = 'lastname';

tbody.appendChild(mytr1);
tbody.appendChild(mytr2);

然后让一个 child 能够访问其 sibling ,例如:

mystr1.parentNode.getByUserident('lastname')

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

最佳答案

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

以下是如何使用它们:

mytr1 = mytbody.createElement('tr');
mytr2 = mytbody.createElement('tr');

mytr1.dataset.userident = 'firstname';
mytr2.dataset.userident = 'lastname';

tbody.appendChild(mytr1);
tbody.appendChild(mytr2);


要访问它们,
暗示您正在使用事件绑定(bind)和处理:

var userident = evt.target.dataset.userident;


编辑

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

关于Javascript DOM 通过用户类型识别节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713267/

相关文章:

javascript - 如何使用导入语句传递凭据?

java写入带有值的xml属性

JavaScript getComputedStyle 不适用于颜色名称?

javascript - 检测 iframe 中的 DOMContentLoaded

php - 更改网页位置,同时保持某些项目静态?

javascript - browserify - 排除代码块?

javascript - 在 Javascript 中引用 Go 数组

javascript - 当我点击div时如何获取它的值?

php - Goutte-dom爬虫-移除节点

javascript - 经常更新值时闪烁