关于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学习笔记5 类和对象
Jan 11 Javascript
JS延迟加载加快页面打开速度示例代码
Dec 30 Javascript
JavaScript中的prototype和constructor简明总结
Apr 05 Javascript
网页运行时提示对象不支持abigimage属性或方法
Aug 10 Javascript
图解prototype、proto和constructor的三角关系
Jul 31 Javascript
javascript监听页面刷新和页面关闭事件方法详解
Jan 09 Javascript
javascript基础知识讲解
Jan 11 Javascript
Javascript之深入浅出prototype
Feb 06 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
Jul 26 Javascript
11行JS代码制作二维码生成功能
Mar 09 Javascript
Vue实现手机计算器
Aug 17 Javascript
js+canvas绘制图形验证码
Sep 21 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
php 生成文字png图片的代码
2011/04/17 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
Node.js 实现抢票小工具 &amp; 短信通知提醒功能
2019/10/22 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
Python算法中的时间复杂度问题
2019/11/19 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
python中提高pip install速度
2020/02/14 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
给领导的致歉信范文
2014/01/13 职场文书
六查六看心得体会
2014/10/14 职场文书
辞职书格式样本
2015/02/26 职场文书
送给客户微信问候语!
2019/07/04 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
python数字图像处理之图像的批量处理
2022/06/28 Python