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- *属性。

看到: