极少数情况赋值会失败
$('.a').data('type', 'newtype');
//do something ...
$('.a').data('type') //不知道什么原因 取出来的是 oldtype
但使用 $('.a').attr('data-type') 就可以取出 newtype
谁能解释下 么.. 谢谢
极少数情况赋值会失败
$('.a').data('type', 'newtype');
//do something ...
$('.a').data('type') //不知道什么原因 取出来的是 oldtype
但使用 $('.a').attr('data-type') 就可以取出 newtype
谁能解释下 么.. 谢谢
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
oldtype 是指的什么呢?
说回 data 和 attr 这两个方法,前者其实是把数据存入 jq 对象中,即在内存中,并不会在页面的 HTML 节点上看到,可以存很多各种各样的东西;后者是会向 HTML 节点上添加 attribute,也就是你能直接看到,也能被 CSS 选择器处理样式。
至于两者的互相访问,data 是可以访问 attr 方法设置的东西的,但反过来是不行的。原因就在于 data 其实是会取 attr 的内容,代码见 jquery 的源码。