jquery的数据(key,val)和attr(data-key,data-val)之间有什么区别
如果尝试使用data()
方法更改数据属性值,则不会获得与attr(data-key, data-value)
方法相同的结果。
例如,我使用data-hovered=true
来存储元素的某些状态。 如果你对element[data-hovered=true]
选择器有一些css样式,那么使用data()
方法来确定数值为true
的值将不起作用。 只有使用attr()
才会生效。
那么这两种方法有什么区别呢?
.data()用于在对象中存储数据,但从HTML5的“发布”开始,它还可以访问元素上的data- *属性。
但是,它不能改变这些,因为它主要用于在对象等中存储数据,而不是物理上在元素上。
因此,attr()是更改元素属性值的唯一方法,例如data- *属性。
看到:
- jQuery Data vs Attr?
- http://api.jquery.com/jQuery.data/
- http://api.jquery.com/attr/