如果您尝试使用 data()
方法更改数据属性值,您不会得到与 attr(data-key, data-value)
相同的结果方法。
例如,我使用 data-hovered=true
来存储元素的某些状态。如果您对 element[data-hovered=true]
选择器有一些 css 样式,请使用 data()
方法将值 true
赋值给data-hovered
不会有效果。只有使用 attr()
才会有效果。
那么这两种方法有什么区别呢?
最佳答案
.data() 用于在对象中存储数据,但从 HTML5“发布”开始,它还可以访问元素上的 data-* 属性。
但是,它无法更改这些,因为它主要用于将数据存储在对象等中,而不是物理上的元素上。
因此 attr() 是更改元素属性值的唯一方法,例如 data-* 属性。
参见:
关于jquery - jquery的data(key,val)和attr(data-key,data-val)有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12569466/