jQuery中attr()和prop()在修改checked属性时的区别

 更新时间:2014年07月18日 10:17:20   投稿:whsnow  
使用语句$.attr('checked',true),将复选框的属性改为被选中,在chrome浏览器中第一次点击有效后面就不行了,IE8倒是没有问题

在做复选框全选按钮的时候,出现了一个问题,使用语句$.attr('checked',true),将复选框的属性改为被选中,在chrome浏览器中第一次点击有效后面就不行了,IE8倒是没有问题。

百度了很久找到原因是HTML的属性分为attribute和property,暂且将后者称为特性。

checked属性即分为attribute->checked,和property->true,false。

对于一个checkbox,若未定义checked="checked",alert($.attr("checked")) 的结果是undefined。若已定义则结果是checked。attribute并不随着checkbox的状态变化而改变。

使用prop($.attr("checked"))的话输出则分别为false和true。property则随其变化而变化。

所以在修改checked属性时要使用prop()。prop()在jQuery1.6版本后新增。

网上关于其他类似属性的图表:

另外关于在IE9之前版本中,如果property没有在DOM元素被移除之前删除,使用.prop()方法设置DOM元素property(简单类型除外:number、string、boolean)的值会导致内存泄露。为了安全的设置DOM对象的值,避免内存泄露,可以使用.data()方法。 目前尚未遇到,先记在这里。

相关文章

  • jQuery回车实现登录简单实现

    jQuery回车实现登录简单实现

    实现登录的方法有很多,这里为大家介绍下实现回车提交表单,具体如下,感兴趣的朋友可以参考下
    2013-08-08
  • jquery ready函数、css函数及text()使用示例

    jquery ready函数、css函数及text()使用示例

    想必大家对jquery的ready函数、css函数、text()并不陌生吧,其实很好理解的,接下来有个不错的示例,如果你对此理解还是很模糊可以参考下
    2013-09-09
  • jQuery响应滚动条事件功能示例

    jQuery响应滚动条事件功能示例

    这篇文章主要介绍了jQuery响应滚动条事件功能,可实现针对滚动条状态的实时计算与响应功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-10-10
  • 轻松实现jquery选项卡切换效果

    轻松实现jquery选项卡切换效果

    这篇文章主要帮助大家轻松实现jquery选项卡切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】

    html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】

    这篇文章主要介绍了html+jQuery实现拖动滑块图片拼图验证码插件,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • jQuery实现的解析本地 XML 文档操作示例

    jQuery实现的解析本地 XML 文档操作示例

    这篇文章主要介绍了jQuery实现的解析本地 XML 文档操作,结合实例形式分析了jQuery针对本地 XML 文档的解析及ajax交互相关操作技巧,需要的朋友可以参考下
    2020-04-04
  • jquery 事件执行检测代码

    jquery 事件执行检测代码

    在写Web 应用,或者Web Ajax功能的时候我们经常需要处理事件,jquery已经非常完美的封装了事件,但是有时候事件的执行顺序还是会有微小差别
    2009-12-12
  • JQuery筛选器全系列介绍

    JQuery筛选器全系列介绍

    jQuery提供了强大的选择器让我们获取对象。在这边,我人为地将jQuery选择器分为两大部分:选择对象和筛选条件。选择对象表示要获取什么对象,筛选条件是对获取的对象进行筛选,最终留下符合某些特征的对象
    2013-08-08
  • jQuery点击按钮弹出遮罩层且内容居中特效

    jQuery点击按钮弹出遮罩层且内容居中特效

    这篇文章主要介绍了jQuery点击按钮弹出遮罩层且内容居中特效,需要的朋友可以参考下
    2015-12-12
  • jQuery的each终止或跳过示例代码

    jQuery的each终止或跳过示例代码

    jQuery的each终止或跳过:涉及迭代,不可避免需要有非正常终止,或强制跳过的情况
    2013-12-12

最新评论