关于jQuery中.attr()和.prop()的问题探讨

 更新时间:2013年09月06日 18:00:16   作者:  
写了几句代码在ie8上能正常运行,chrome和ff却不行,prop()方法适用于Boolean值的属性,添加属性名称该属性就会生效应该使用.prop()者两点就是他们的区别吧
话说写了几句代码在ie8上能正常运行,chrome和ff却不行,朋友说这就是RP啊,郁闷!

其实功能需求是这样的,两个radio:男和女,一个button:重置。启动页面默认选中男,在用户选择女之后又点击重置按钮,需要恢复到默认状态。
复制代码 代码如下:

<input type="radio" id="hRdMale" checked="checked" name="sex" value="male" /><label for="hRdMale">男</label>
<input type="radio" id="hRdFemale" name="sex" value="female" /><label for="hRdFemale">女</label>
<button id="reSet">重置</button>

我的js代码是这样的:
复制代码 代码如下:

$("#reSet").click(function() {
  $("input[name='sex']:first").attr("checked",true);
});

结果就是开头提到的样子,问了几个人都说不清楚,后来查了API后知道在jQuery1.6+的版本中添加了.prop()的方法,貌似和.attr()没什么区别,都可以用来获取和设置属性值。后来又了解到.prop()方法适用于Boolean值的属性,官方解释selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 以及defaultSelected 等属性需用.prop()方法。另外,看网上还有好多说“添加属性名称该属性就会生效应该使用.prop()”,本人没验证其他属性,倒是"checked"属性的确是添加就生效。所以,红色的两点应该就是.attr()和.prop()的区别所在了。

所以,将上面click事件方法里面的代码改成下面的就OK了。
复制代码 代码如下:

$("input[name='sex']:first").prop("checked",true);

相关文章

  • JS与jQuery实现隔行变色的方法

    JS与jQuery实现隔行变色的方法

    这篇文章主要介绍了JS与jQuery实现隔行变色的方法,结合实例形式对比分析了javascript与jQuery实现隔行变色的具体操作步骤与相关技巧,体验一下jQuery的华丽与简洁,需要的朋友可以参考下
    2016-09-09
  • 分享十五款 jQuery 社交网络分享插件

    分享十五款 jQuery 社交网络分享插件

    这篇文章主要介绍了分享十五款 jQuery 社交网络分享插件,需要的朋友可以参考下
    2015-05-05
  • jQuery Tools tab(幻灯片)

    jQuery Tools tab(幻灯片)

    老规矩,先上html和css,还是用官方的,只是去掉了些东西
    2012-07-07
  • jQuery+slidereveal实现的面板滑动侧边展出效果

    jQuery+slidereveal实现的面板滑动侧边展出效果

    WEB开发中有时需要在页面上设置一个控制面板,默认是不显示的,当用户有需要时可以通过按钮触发调用面板展示。常见的有页面侧边滑出面板效果。本文将使用jQuery插件并结合实例给大家介绍一下面板滑动展示效果。
    2015-03-03
  • jquery easyui中treegrid用法的简单实例

    jquery easyui中treegrid用法的简单实例

    本篇文章主要是对jquery easyui中treegrid用法的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • jQuery查找dom的几种方法效率详解

    jQuery查找dom的几种方法效率详解

    这篇文章主要记录了在近期开发中遇到的jQuery dom基本查找方法,然后将各种方法性能做了一个比较,目的是希望自己在以后dom元素查找时,使用最优的方案。文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • jQuery实现表格文本框淡入更改值后淡出效果

    jQuery实现表格文本框淡入更改值后淡出效果

    这篇文章主要介绍了jQuery实现表格文本框淡入更改值后淡出效果的实现代码,代码简单易懂,非常不错,需要的朋友可以参考下
    2016-09-09
  • jQuery timers计时器简单应用说明

    jQuery timers计时器简单应用说明

    大家都知道jQuery很强大,也有很多效果很帅的插件,下面介绍下jQuery定时器插件jQuery Timers,那JS都自带有定时器,为什么要使用Jquery的呢?
    2010-10-10
  • jquery JSON的解析方式

    jquery JSON的解析方式

    第一次用JSON作为jquery异步请求的传输对象,结果在jquery请求后返回的结果是字符串还是json对象上折腾了半天。等到问题解决了,也大致明白怎么个意思了,归根结底还是对jquery对相关json对象获取的理解有所偏差。
    2009-07-07
  • jQuery中on绑定事件后引发的事件冒泡问题如何解决

    jQuery中on绑定事件后引发的事件冒泡问题如何解决

    这篇文章主要介绍了jQuery中on绑定事件后引发的事件冒泡问题及解决办法,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-05-05

最新评论