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

Tud*_*dor 1 jquery

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

例如,我正在使用data-hovered=true为元素存储一些状态.如果您对一些CSS样式element[data-hovered=true]选择,使用data()方法assing值truedata-hovered不会有效果.只有使用attr()它才会有效.

那么这两种方法有什么区别呢?

Dav*_*vid 6

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

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

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

看到: