在创建 html/jquery 应用程序时,我在不使用全局变量的情况下传递值时遇到了问题。快速示例
1) 加载一个带有类的表,例如“playersTable”
2) 附加一个唯一的ID,例如“25”
3) 单击表行并生成一行按钮,这些按钮将根据父级的类和 ID 执行操作;比如查询playersTable WHERE row = 25等
问题是,随着我的开发,我需要将越来越多的值绑定(bind)到父元素(或任何已经具有类和 ID 的元素),我想避免向类添加 20 个东西
当我需要将更多数据附加到我的元素时,我不知道该怎么做。我也使用了“值”属性,但我想知道是否所有浏览器都支持它,这是不是不好的做法等等。如果我只是开始创建自己的属性,它是否有效?比如
<div id = "2" class = "test" myAttr = "foo"></div>
或者我是不是以错误的方式处理这件事?
最佳答案
不知道为什么您需要将所有数据附加到 DOM 元素,因此很难给出具体的建议。
首先,我会考虑使用 data-
属性。
其次,如果您要动态附加数据,我会考虑使用 jQuery 的 data()
方法。
第三,我会考虑您实际需要哪些数据以及何时需要。
第四,可能也是最重要的一点,ID 属性可能并不是您真正想要设置的。
使用 data-id
元素并以这种方式获取 ID;简单的数值不是有效的 ID。除非您实际上需要通过 ID 引用 DOM 元素,否则何必呢?通常,您真正需要的只是向上(或向下)查找附近的层次结构并找到父行等以提取单个值,例如 data("id")
。
关于javascript - 使用非标准属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24844785/