美文网首页
jquery中$().attr()跟$().data的区别

jquery中$().attr()跟$().data的区别

作者: 毛毛_000e | 来源:发表于2019-07-05 11:19 被阅读0次

艾玛,今天又采坑啦

事情是这样子的,就是我用$().attr去设置了一个自定义属性的值,然后再用$().data再去获取这个属性值的时候,发现获取的值还是未修改前的值,这就有毛病了

后来百度了一下,原来这二者之间还是有区别的

attr跟data本质上是属于DOM属性跟jquery对象属性的区别

也就是说当我们用attr去设置值的时候,实际上是设置DOM元素属性的值,当用data的时候实际上是设置DOM node属性的值

$().attr每次都是从DOM元素中取属性的值,和视图中标签内的属性值保持一致,修改的时候也是将值塞到DOM标签内

$().data则是从jquery对象中获得属性的值,不是从标签内获取值,修改的时候则是修改jq对象的属性值

所以,总得来说,就是用谁设置值,就用谁获取值

从性能角度来说,用data比较好,因为没有修改DOM

相关文章

网友评论

      本文标题:jquery中$().attr()跟$().data的区别

      本文链接:https://www.haomeiwen.com/subject/kveshctx.html