jquery的数据(key,val)和attr(data-key,data-val)之间有什么区别

时间:2012-09-24 16:50:53

标签: jquery

如果您尝试使用data()方法更改数据属性值,则不会获得与attr(data-key, data-value)方法相同的结果。

例如,我使用data-hovered=true来存储元素的某些状态。如果您为element[data-hovered=true]选择器设置了一些CSS样式,则使用data()方法将值true分配给data-hovered将不起作用。只使用attr()这会产生效果。

那么这两种方法之间的区别是什么?

1 个答案:

答案 0 :(得分:6)

.data()用于在对象中存储数据,但是从"发布" HTML5,它还可以访问元素上的data- *属性。

但是,它不能改变这些,因为它主要用于在对象等中存储数据,而不是物理上在元素上。

因此,attr()是更改元素属性值的唯一方法,例如data- * attributes。

请参阅: