课程
/前端开发
/jQuery
/jQuery基础 (一)—样式篇
.data(key,value)和.attr(key,value)设置属性,是不是都能达到存储的效果,有什么区别吗
2016-09-18
源自:jQuery基础 (一)—样式篇 3-9
正在回答
楼上说的对
上面那个人回答是不对的,不要误导了其他人啊。。。attr可以设置任意的属性值给元素,当然也可以设置一些本来就不存在的,比如.attr('fgf','呵呵'),之前我写前端要存储一些数据就是这样干的,那时候不知道.data方法,现在既然有了.data方法就不要用.attr和.prop了,马云说过专业的事交给专业的人去干。。。你从名字上就看出来了,.data是数据存储的,.attr是属性设置的。再说点其他的,之前我设置多选框选中问题时,发现设置多选框选中和不选中要用prop用attr是不行的。.prop和.attr是有区别的,我的理解是prop操作的是节点原生属性,attr操作'额外'属性。
.attr操作dom节点自带的属性,如一个<input/>节点本身具备type属性,用.attr可以改变其type,但你不能自己定义一个不存在的属性,也就是说.attr是不能达到任意存储数据的作用的。
.data的作用才是存储自定义键值对。
举报
jQuery初入开启样式修炼,体验万能的jQuery样式集搭建网站布局
2 回答jQuery.data( element, key, value ) 中key是什么意思?
4 回答$('input:ifrst').attr('value','.attr( attributeName, value )')啥意思
1 回答.date(obj,key,value) 设置静态数据 无法用 obj.data(key) 来读取
3 回答关于value[1]的纠纷?
2 回答attr('value',function(i, val)是什么意思呢