jQuery 中 attr 和 prop 的区别

1.attr

attr是通过setAttribute 和 getAttrbute来设置的,使用的是DOM属性节点。

2.prop

prop是通过document.getElementByid(el)[name] = value 来设置的,转化为js对象的属性

通常在获取或者设置checked,selected,readonly,disabled等的时候使用prop效果更好,减少了访问dom属性节点的频率。

大家知道,有的浏览器只要写checked,disabled就可以了,而有的则需要些checked=“checked”,disabled=“disabled”。比如用attr来获取checked,选中状态获取attr(“checked”)为checked,没有选中则为undefined。。而prop来获取的为,选中为true,没有选中为false。

另外,用prop来设置属性名,html结构是不会发生变化的。而用attr来设置属性名,html结构是会发生变化的。

总的来说,按照我自己的理解,一般如果是标签自身自带的属性,我们用prop方法来获取;如果是自定义的属性,我们用attr方法来获取。

出处:https://www.cnblogs.com/jiajia123/p/6539326.html

猜你喜欢

转载自www.cnblogs.com/wong-do/p/8926328.html