關于jQuery中.attr()和.prop()的問題探討
更新時間:2013年09月06日 18:00:16 作者:
寫了幾句代碼在ie8上能正常運行,chrome和ff卻不行,prop()方法適用于Boolean值的屬性,添加屬性名稱該屬性就會生效應該使用.prop()者兩點就是他們的區(qū)別吧
話說寫了幾句代碼在ie8上能正常運行,chrome和ff卻不行,朋友說這就是RP啊,郁悶!
其實功能需求是這樣的,兩個radio:男和女,一個button:重置。啟動頁面默認選中男,在用戶選擇女之后又點擊重置按鈕,需要恢復到默認狀態(tài)。
<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()沒什么區(qū)別,都可以用來獲取和設置屬性值。后來又了解到.prop()方法適用于Boolean值的屬性,官方解釋selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 以及defaultSelected 等屬性需用.prop()方法。另外,看網(wǎng)上還有好多說“添加屬性名稱該屬性就會生效應該使用.prop()”,本人沒驗證其他屬性,倒是"checked"屬性的確是添加就生效。所以,紅色的兩點應該就是.attr()和.prop()的區(qū)別所在了。
所以,將上面click事件方法里面的代碼改成下面的就OK了。
$("input[name='sex']:first").prop("checked",true);
其實功能需求是這樣的,兩個radio:男和女,一個button:重置。啟動頁面默認選中男,在用戶選擇女之后又點擊重置按鈕,需要恢復到默認狀態(tài)。
復制代碼 代碼如下:
<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()沒什么區(qū)別,都可以用來獲取和設置屬性值。后來又了解到.prop()方法適用于Boolean值的屬性,官方解釋selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 以及defaultSelected 等屬性需用.prop()方法。另外,看網(wǎng)上還有好多說“添加屬性名稱該屬性就會生效應該使用.prop()”,本人沒驗證其他屬性,倒是"checked"屬性的確是添加就生效。所以,紅色的兩點應該就是.attr()和.prop()的區(qū)別所在了。
所以,將上面click事件方法里面的代碼改成下面的就OK了。
復制代碼 代碼如下:
$("input[name='sex']:first").prop("checked",true);
您可能感興趣的文章:
- jquery獲取自定義屬性(attr和prop)實例介紹
- jquery中prop()方法和attr()方法的區(qū)別淺析
- jQuery學習之prop和attr的區(qū)別示例介紹
- jquery 獲取自定義屬性(attr和prop)的實現(xiàn)代碼
- jQuery獲取attr()與prop()屬性值的方法及區(qū)別介紹
- Jquery中attr與prop的區(qū)別詳解
- jQuery中.attr()和.data()的區(qū)別分析
- JQuery中attr屬性和jQuery.data()學習筆記【必看】
- jQuery $.data()方法使用注意細節(jié)
- jquery中attr、prop、data區(qū)別與用法分析
相關文章
jquery實現(xiàn)在頁面加載完畢后獲取圖片高度或寬度
應項目要求,需要在頁面加載完畢之后獲取圖片的高度,本例使用jquery來完成這個功能,需要的朋友可以參考下2014-06-06利用Jquery實現(xiàn)幾款漂亮實用的時間軸(附示例代碼)
這篇文章主要介紹了利用Jquery實現(xiàn)幾款漂亮的時間軸示例代碼,文中利用Jquery實現(xiàn)了縱向折疊時間軸、縱向鼠標滑動時間軸、縱向可折疊時間軸以及橫向時間軸,每種時間軸都給出了完整的示例代碼,需要的朋友可以參考學習。2017-02-02詳解easyui基于 layui.laydate日期擴展組件
這篇文章主要介紹了詳解easyui基于 layui.laydate日期擴展組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07淺談原生JS實現(xiàn)jQuery的animate()動畫示例
本篇文章主要介紹了淺談原生JS實現(xiàn)jQuery的animate()動畫示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03jQuery搜索框效果實現(xiàn)代碼(百度關鍵詞聯(lián)想)
這篇文章主要介紹了jQuery搜索框效果實現(xiàn)代碼,百度關鍵詞聯(lián)想,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08