本篇文章给大家总结了 jQuery 中 attr() 和 prop() 方法的区别, 感兴趣的朋友参考下.
attr():
attr() 方法设置或返回被选元素的属性和值.
当该方法用于返回属性值, 则返回第一个匹配元素的值.
当该方法用于设置属性值, 则为匹配元素设置一个或多个属性 / 值对.
prop():
prop() 方法设置或返回被选元素的属性和值.
当该方法用于返回属性值时, 则返回第一个匹配元素的值.
当该方法用于设置属性值时, 则为匹配元素集合设置一个或多个属性 / 值对.
(相关课程推荐: jQuery 教程 https://www.html.cn/jskuangjia/jquery/ )
区别:
● $('').attr() 返回的是 HTML 对象
● $('').prop() 返回的是 DOM 对象
● prop() 方法操作 radio(checkbox) 之类的控件, 让其选中的时候, 其控件选中的值也会随之改变. 即既可以控制其选中, 也能控制其取消选中;
类似于 $("...").attr("checked"); 返回的是 true 或者 false
如果有相应的属性, 返回的是该属性, 如果没有则返回空串
● attr() 方法操作 adio(checkbox) 之类的控件, 让其选中的时候, 其控件选中的值不会随之改变. 即只能控制其选中, 不能控制其取消选中;
类似于 $("...").attr("checked"); 返回的是'checked'或者 undefined
如果有相应的属性, 返回的是该属性, 如果没有则返回 undefined
attr 和 prop 的使用场景:
1. 添加属性名称该属性就会生效应该使用 prop();
2. 是有 true,false 两个属性使用 prop();(如'checked','selected','disabled'等)
3. 其他则使用 attr();
官方推荐使用:
本文来自 jQuery 答疑 https://www.html.cn/qa/jquery/ 栏目, 欢迎学习!
来源: http://www.css88.com/qa/jquery/15387.html