关于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编写的第一人称射击游戏
Feb 25 Javascript
javascript题目,重写函数让其无限相加
Feb 15 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
Jun 18 Javascript
js全屏显示显示代码的三种方法
Nov 11 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
Dec 30 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
Aug 27 Javascript
vue基于Vue2.0和高德地图的地图组件实例
Apr 28 Javascript
Mongoose实现虚拟字段查询的方法详解
Aug 15 Javascript
基于layui数据表格以及传数据的方式
Aug 19 Javascript
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
js滚轮事件 js自定义滚动条的实现
Jan 18 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
屏蔽浏览器缓存另类方法
2006/10/09 PHP
关于尾递归的使用详解
2013/05/02 PHP
php实现数字补零的方法总结
2018/09/12 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
PHP7 新增功能
2021/03/09 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
javascript防篡改对象实例详解
2017/04/10 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
机关保密承诺书
2014/06/03 职场文书
英文辞职信范文
2015/05/13 职场文书
创业计划书之书店
2019/09/10 职场文书
Python序列化与反序列化相关知识总结
2021/06/08 Python
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
python使用shell脚本创建kafka连接器
2022/04/29 Python