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


Posted in Javascript onSeptember 06, 2013

话说写了几句代码在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);
Javascript 相关文章推荐
由Javascript实现的页面日历
Nov 04 Javascript
EasyUI 中 MenuButton 的使用方法
Jul 14 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
js实现简洁大方的二级下拉菜单效果代码
Sep 01 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
Aug 01 Javascript
JavaScript实现随机数生成器(去重)
Oct 13 Javascript
vue移动端UI框架实现QQ侧边菜单组件
Mar 09 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
基于vue2.0的活动倒计时组件countdown(附源码下载)
Oct 09 Javascript
vue登录注册实例详解
Sep 14 Javascript
JS工厂模式开发实践案例分析
Oct 17 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
正负小数点后两位浮点数实现原理及代码
Sep 06 #Javascript
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
Sep 06 #Javascript
jquery实现metro效果示例代码
Sep 06 #Javascript
JS去除数组重复值的五种不同方法
Sep 06 #Javascript
JavaScript判断密码强度(自写代码)
Sep 06 #Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
Sep 06 #Javascript
让网页跳转到指定位置的jquery代码非书签
Sep 06 #Javascript
You might like
php 获取页面中指定内容的实现类
2014/01/23 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
2016/07/18 PHP
JS效率个人经验谈(8-15更新),加入range技巧
2007/01/09 Javascript
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
vue登录以及权限验证相关的实现
2019/10/25 Javascript
py中的目录与文件判别代码
2008/07/16 Python
python中__slots__用法实例
2015/06/04 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
python实现弹跳小球
2019/05/13 Python
python同步windows和linux文件
2019/08/29 Python
python实现复制大量文件功能
2019/08/31 Python
python:动态路由的Flask程序代码
2019/11/22 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
PyQt5实现画布小程序
2020/05/30 Python
八一建军节营销活动方案
2014/08/31 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
二审答辩状范文
2015/05/22 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
2016国培学习心得体会
2016/01/08 职场文书
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技