jQuery中attr()和prop()两种方法的区别

 

在老的jQuery版本中,都是使用attr()来访问对象属性的,比如取一个图片的alt属性,title属性,但是有的属性是这样的,比如说input的checked=“checked”,disabled=“disabled”...再有的浏览器中,后面的checked或者disabled都可以省略,只要声明了这个属性存在,那这个属性就生效了;所以在更新的jQuery版本中(1.6)开始,jQuery提供了新的方法,prop()来获取这些属性,使用prop()的时候,返回值是布尔值:true/false;

那么到这里,什么时候该用attr,什么时候该用prop就一目了然了。

原则一:只添加属性名称该属性就会生效的属性(例如chencked、disabled),就用prop();

原则二:只存在true/false的属性应该使用prop();

原则三(补充):如果提取一个元素的属性,这个属性是这个元素的固有属性,那么用prop(),如果这个属性不是这个标签固有的(自己瞎加的),那么用attr();

demo如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="../js/Jquery.min.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			$(function(){
				$("#ChenckedAll").click(function(){
			var state_prop=$("input[type=checkbox]").prop("checked");//使用prop
			var state_attr=$("input[type=checkbox]").attr("checked");//使用attr
					alert("state_prop="+state_prop);//false
					alert("state_attr="+state_attr);//undefined
				})
				$("#ChenckedNo").click(function(){
					$("input[type=checkbox]").prop("checked",false);
				})
			})
		</script>
	</head>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值