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

标签 jquery

如果您尝试使用 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/

相关文章:

javascript - 如何使用 JQuery 延迟动画直到加载背景图像?

javascript - jQuery 文件上传插件成功回调

javascript - 如何将弹出窗口位置设置为下方而不是右侧

javascript - 如何使用 jquery 中的值将 <del></del> 元素包裹在复选框周围

jquery - 如何在悬停时创建 div 内容的 jquery 垂直滚动?

javascript - IE 10 未使用 JQuery 触发 bind() 或 on() 事件

java - 将 JQuery Slide Menu 与现有移动网站集成很困难

Jquery fade 在 3 个 div 之间旋转

jquery - 如果验证失败,如何在 ASP.NET MVC 中阻止 jquery ajax 提交

javascript - 我如何找出 Jquery AJAX 请求失败的原因?