使用非标准属性

Using non-standard attributes

本文关键字:属性 非标准      更新时间:2023-09-26

当我创建html/jquery应用程序时,我在不使用全局变量的情况下传递值时遇到麻烦。简单的例子

1)加载一个表类,如"playersTable"

2)附加一个唯一的ID,如"25"

3)单击表行,生成一行按钮,这些按钮将根据父类和ID执行操作;如查询playersTable WHERE row = 25等

问题是,随着我的开发,我需要将越来越多的值绑定到父元素(或任何已经具有类和ID的元素),并且我想避免向类 添加20个东西

我不知道该怎么做,当我需要附加更多的数据到我的元素。我也使用了属性"value",但我想知道是否所有的浏览器都支持它,如果这是不好的做法,等等。如果我开始创建自己的属性,它还能工作吗?如

<div id = "2" class = "test" myAttr = "foo"></div>

还是说我的思路都错了?

如果不知道为什么需要将所有数据附加到DOM元素中,则很难给出具体的建议。

首先,我会考虑使用data-属性。

第二,如果你动态地附加数据,我会考虑使用jQuery的data()方法。

第三,我会考虑你真正需要什么数据,什么时候需要。

第四,可能也是最重要的,ID属性可能并不是你真正想要设置的。

使用data-id元素并以这种方式获取ID;简单的数字值不是有效的ID。除非您确实需要通过ID引用DOM元素,否则为什么要这么做呢?通常,您真正需要的是只是查找(或向下)附近的层次结构,并找到父行等,以提取单个值,如data("id")

我建议你使用data-*属性,无论是纯JavaScript element.dataset.some_attr_name还是jQuery element.data('some_attr_name')

浏览器支持:http://caniuse.com/dataset

jQuery data docs: http://api.jquery.com/data/