欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

jQuery1.6以上attr改用prop

发布时间:2025/5/22 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 jQuery1.6以上attr改用prop 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

jQuery1.6以上,attr改用prop

attr用法是:获取匹配的元素集合中的第一个元素的属性的值  或 设置每一个匹配元素的一个或多个属性。

prop用法:获取匹配的元素集中第一个元素的属性(property)值或设置每一个匹配元素的一个或多个属性。

 

//设置选中
$('#cb').attr('checked',true);
</script>
这样写在Jquery1.6之前完全没问题,升级1.6到更高的版本时会发现:
$('#cb').attr('checked'); 返回的是checked或者是undefined,不是原来的true和false了。 并且checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变。所以如果checkbox一开始是选中的,那么返回的是checked,如果一开始没被选中,则返回的是undefined

<input type='checkbox' id='cb'/>
<script>
//获取是否选中
var isChecked = $('#cb').prop('checked');
//或
var isChecked = $('#cb').is(":checked");
//设置选中
$('#cb').prop('checked',true);
</script>

查了官方文档,链接:https://www.html.cn/jqapi-1.9/attr/

原因是:
在jQuery 1.6中,当属性没有被设置时候,.attr()方法将返回undefined。 若要检索和更改DOM属性,比如元素的checked, selected, 或 disabled状态,请使用.prop()方法。
$("#cb").attr("tagName"); //undefined
$("#cb").prop("tagName"); //INPUT


转载于:https://www.cnblogs.com/xuqiushuo/p/10537537.html

总结

以上是生活随笔为你收集整理的jQuery1.6以上attr改用prop的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。