jquery data attr

jquery 的 data这个方法 大部分时候赋值都能成功

极少数情况赋值会失败

$('.a').data('type', 'newtype');
//do something ...

$('.a').data('type') //不知道什么原因 取出来的是 oldtype
但使用 $('.a').attr('data-type') 就可以取出 newtype

谁能解释下 么.. 谢谢

阅读 1.8k
1 个回答

oldtype 是指的什么呢?
说回 data 和 attr 这两个方法,前者其实是把数据存入 jq 对象中,即在内存中,并不会在页面的 HTML 节点上看到,可以存很多各种各样的东西;后者是会向 HTML 节点上添加 attribute,也就是你能直接看到,也能被 CSS 选择器处理样式。
至于两者的互相访问,data 是可以访问 attr 方法设置的东西的,但反过来是不行的。原因就在于 data 其实是会取 attr 的内容,代码见 jquery 的源码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题