关于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 相关文章推荐
学习面向对象之面向对象的基本概念:对象和其他基本要素
Nov 30 Javascript
qq悬浮代码(兼容各个浏览器)
Jan 29 Javascript
编写高效jQuery代码的4个原则和5个技巧
Apr 24 Javascript
node.js中的querystring.escape方法使用说明
Dec 10 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
Jun 05 Javascript
日常收集整理的JavaScript常用函数方法
Dec 10 Javascript
详谈$.data()的用法和作用
Feb 13 Javascript
jQuery Validate 校验多个相同name的方法
May 18 jQuery
修改node.js默认的npm安装目录实例
May 15 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
五分钟搞懂Vuex实用知识(小结)
Aug 12 Javascript
微信小程序页面间传递数组对象方法解析
Nov 06 Javascript
正负小数点后两位浮点数实现原理及代码
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
thinkphp四种url访问方式详解
2014/11/28 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
js下用eval生成JSON对象
2010/09/17 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
JS打开新窗口的2种方式
2013/04/18 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
详解Bootstrap插件
2016/04/25 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Django 再谈一谈json序列化
2020/03/16 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
小学优秀班集体申报材料
2014/05/25 职场文书
爱的承诺书
2015/01/20 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
学习计划是什么
2019/04/30 职场文书
导游词之天津盘山
2019/11/01 职场文书
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis