繁体   English   中英

使用非标准属性

[英]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.

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