jQuery中attr,prop区别

前2篇jQuery笔记中,分别总结了jQuery中attr()和prop()的用法,大家可能会发现这两个方法在使用起来非常类似

没有看过的童鞋可移步:attr()用法  http://www.cnblogs.com/zwwhnly/p/7383960.html

             prop()用法 http://www.cnblogs.com/zwwhnly/p/7389295.html

本篇笔记主要总结下attr(),prop()之间的区别

假使页面上如如下Html标签:

<input type="checkbox" checked="checked" />
<br />
<input type="radio" checked="checked"/>

我们先使用attr()来获取checked属性的值,会发现返回的是checked:

$("input[type=‘checkbox‘]").attr("checked"); //    返回"checked"
$("input[type=‘radio‘]").attr("checked");    //    返回"checked"

然后我们再使用prop()来获取checked属性的值,会发现返回的是true:

$("input[type=‘checkbox‘]").prop("checked"); //    返回true
$("input[type=‘radio‘]").prop("checked");    //    返回true

此时我们在页面上操作下,取消选中该复选框和单选框,然后再分别用attr(),prop()来获取checked属性的值:

$("input[type=‘checkbox‘]").attr("checked"); //    返回"checked"
$("input[type=‘radio‘]").attr("checked");    //    返回"checked"
$("input[type=‘checkbox‘]").prop("checked"); //    返回false
$("input[type=‘radio‘]").prop("checked");    //    返回false

从上面的返回值,我们可以发现,虽然已经没有选中,但使用attr()获取的返回值仍然是checked, 而使用prop()获取的返回值从true变为false

综上所述,个人建议以下场景使用prop()而不是attr():

1.获取radio,checkbox的选中状态时,使用prop()

2.设置radio,checkbox的选中状态时,使用prop()

语法如下:

$("input[type=‘checkbox‘]").prop("checked",true);    //    选中
$("input[type=‘checkbox‘]").prop("checked",false);    //   取消选中

3.获取input标签的disabled属性时,使用prop()

语法如下:

$("input").prop("disabled");

4.设置input标签的disabled属性时,使用prop()

语法如下:

$("input").prop("disabled",true);    //    禁用所有的input元素
$("input").prop("disabled",false);    //   取消禁用所有的input元素
时间: 2024-10-13 12:59:55

jQuery中attr,prop区别的相关文章

jquery中attr() &amp; prop() 的区别与其实现方法

$(function(){ $('#check').attr('checked'); // undefind ???一头雾水 }) 在jquery中 attr 本来就是用来设置或者获取属性的,可是上面的方法却返回给 undefined ? 然后我尝试用 $('#check').prop('checked'); 发现可以正常运行!! 在jquery中prop是相对来说版本比较新的一个方法,乍一看它的功能好像和attr没有什么很大的差别,的确,它们都可设置或者来获取属性,比如 $('#div').a

关于jQuery中attr(),prop()的使用

注意:什么时候使用attr(),什么时候使用prop()?1.添加属性名称该属性就会生效应该使用prop();2.是有true,false两个属性使用prop();3.其他则使用attr(); 以下是官方建议attr(),prop()的使用: Attribute/Property .attr() .prop() accesskey √   align √   async √ √ autofocus √ √ checked √ √ class √   contenteditable √   dra

jquery中attr和prop的区别分析

这篇文章主要介绍了jquery中attr和prop的区别分析的相关资料,需要的朋友可以参考下 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答案很多.这里谈谈我的心得,我的心得很简单: • 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. • 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. 上面的描述也许有点模糊,举几个例子就知道了. 复制代码代

Jquery学习笔记(6)--jquery中attr和prop的区别【精辟】

jquery中attr和prop的区别 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答案很多.这里谈谈我的心得,我的心得很简单: 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. 上面的描述也许有点模糊,举几个例子就知道了. <a href="http://www.baidu.com&quo

jquery中attr和prop的区别(转)

在网络上看到这样一篇关于jquery中attr和prop的区别文章,觉得不错,所以转载了,一下为原文引用: 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答案很多.这里谈谈我的心得,我的心得很简单: 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. 上面的描述也许有点模糊,举几个例子就知道了. <a

jQuery中的prop()和attr()的区别

1.jQuery中的prop()和attr()的区别 prop()是在jQuery1.6版本之后才有的,在之前一直都是使用attr(), prop()修复了attr()的一些小bug. 2.推荐用法: prop() :在HTML元素固有属性的时候用prop() attr() : 推荐在HTML非固有属性(自定义属性)的时候用attr() attr() 方法设置或返回被选元素的属性值. 根据该方法不同的参数,其工作方式也有所差异. //改变图片的width属性 $("img").attr

jQuery中attr()、prop()、data()用法及区别

.attr(),此方法从jq1.0开始一直存在,官方文档写的作用是读/写DOM的attribute值,其实1.6之前有时候是attribute,有时候又是property..prop(),此方法jq1.6引入,读/写DOM的property..data(),此方法在jq1.2.3引入,作用是把任意的值读取/存储到DOM元素对应的jq对象上. 从性能上对比,.prop() > .data() > .attr(),不同浏览器不同版本.data()和.attr()的性能关系有差异,不过.prop()

关于jQuery中.attr()和.prop()

功能需求是这样的,两个radio:男和女,一个button:重置.启动页面默认选中男,在用户选择女之后又点击重置按钮,需要恢复到默认状态. <input type="radio" id="hRdMale" checked="checked" name="sex" value="male" /><label for="hRdMale">男</label>

jQuery中attr()方法用法实例

本文实例讲述了jQuery中attr()方法用法.分享给大家供大家参考.具体分析如下: 此方法设置或返回匹配元素的属性值. attr()方法根据参数的不同,功能也不同. 语法结构一: 获取第一个匹配元素指定属性的属性值. 代码如下: $(selector).attr(name) 参数列表: 参数 描述 name 定义要获取其值的属性名称. 实例代码: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="