[英]Using non-standard attributes
创建html / jquery应用程序时,我无法在不使用全局变量的情况下传递值。 快速示例
1)加载带有“ playersTable”之类的表
2)附加一个唯一的ID,例如“ 25”
3)点击表格行并产生一行按钮,这些按钮将根据父母的班级和ID来执行操作; 例如查询playerTable WHERE行= 25,等等。
问题是,在开发过程中,我需要将越来越多的值绑定到父元素(或任何已经具有类和ID的元素),并且要避免在类中添加20件事
当我需要将更多数据附加到元素时,我不知道该怎么办。 我还使用了属性“值”,但是然后我想知道是否所有浏览器都支持它,如果这是不正确的做法,等等。如果我只是开始创建自己的属性,它甚至还能工作吗? 如
<div id = "2" class = "test" myAttr = "foo"></div>
还是我通常会以所有错误的方式来解决这个问题?
不知道为什么需要将所有这些数据附加到DOM元素上,很难给出具体的建议。
首先,我会考虑使用data-
属性。
其次,如果要动态附加数据,我会考虑使用jQuery的data()
方法。
第三,我会考虑您实际需要什么数据以及何时需要。
第四,也是最重要的一点,ID属性可能并不是您真正想要设置的。
使用data-id
元素并以这种方式获取ID; 简单的数字值不是有效的ID。 除非您实际上需要通过ID引用DOM元素,否则何必呢? 通常,您真正需要的只是查找(或向下)附近的层次结构并找到父行等,以提取单个值,例如data("id")
。
我建议您将data- *属性与纯JavaScript element.getAttribute('data-some_attr_name')
或与jQuery element.data('some_attr_name')
。
浏览器支持: http : //caniuse.com/dataset
jQuery数据文档: http : //api.jquery.com/data/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.