关于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 相关文章推荐
js获取网页高度(详细整理)
Dec 28 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
Feb 24 Javascript
JavaScript让Textarea支持tab按键的方法
Jun 26 Javascript
BootStrap的Datepicker控件使用心得分享
May 25 Javascript
基于BootStrap环境写jQuery tabs插件
Jul 12 Javascript
基于模板引擎Jade的应用(详解)
Dec 12 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
Jan 12 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
深入理解Vue 的钩子函数
Sep 05 Javascript
详解微信小程序用定时器实现倒计时效果
Apr 30 Javascript
js tab栏切换代码实例解析
Sep 03 Javascript
一起来看看Vue的核心原理剖析
Mar 24 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
牡丹941资料
2021/03/01 无线电
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
js身份证验证超强脚本
2008/10/26 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
js实现随机点名
2021/01/19 Javascript
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
详解Django-auth-ldap 配置方法
2018/12/10 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
python中添加模块导入路径的方法
2021/02/03 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
非常详细的C#面试题集
2016/07/13 面试题
什么是会话Bean
2015/05/14 面试题
文艺晚会主持词
2014/03/24 职场文书
给校长的建议书500字
2014/05/15 职场文书
售后客服工作职责
2014/06/16 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
校友回访母校寄语
2015/02/26 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
MySQL实现配置主从复制项目实践
2022/03/31 MySQL