关于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 相关文章推荐
任意位置显示html菜单
Feb 01 Javascript
jquery为页面增加快捷键示例
Jan 31 Javascript
jquery ajax,ashx,json的用法总结
Feb 12 Javascript
轻松实现jquery手风琴效果
Jan 14 Javascript
原生js实现查询天气小应用
Dec 09 Javascript
Vue实例简单方法介绍
Jan 20 Javascript
用JS实现简单的登录验证功能
Jul 28 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
Sep 06 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
Feb 22 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
Jul 24 Javascript
vue项目配置sass及引入外部scss文件
Apr 14 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
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
2013/09/22 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
小程序实现多选框功能
2018/10/30 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
Python实现简单拆分PDF文件的方法
2015/07/30 Python
Python学习思维导图(必看篇)
2017/06/26 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
sklearn的predict_proba使用说明
2020/06/28 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
Python多分支if语句的使用
2020/09/03 Python
留学推荐信中文范文三篇
2014/01/25 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
促销活动总结范文
2014/04/30 职场文书
文明生主要事迹
2014/05/25 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
2014年团工作总结
2014/11/27 职场文书
领导欢迎词致辞
2015/01/23 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
2016高考寄语集锦
2015/12/04 职场文书
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS