關于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()方法。另外,看網上還有好多說“添加屬性名稱該屬性就會生效應該使用.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()方法。另外,看網上還有好多說“添加屬性名稱該屬性就會生效應該使用.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)的實現代碼
- 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動態(tài)生成不規(guī)則表格(前后端)
這篇文章主要介紹了jQuery動態(tài)生成不規(guī)則表格的實現代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-02-02
JQuery中$.each 和$(selector).each()的區(qū)別詳解
這篇文章主要介紹了JQuery中$.each 和$(selector).each()的區(qū)別詳解,本文給出了多個例子講解了它們之間的不同之處,需要的朋友可以參考下2015-03-03
jQuery判斷瀏覽器并動態(tài)調整select寬度的方法
這篇文章主要介紹了jQuery判斷瀏覽器并動態(tài)調整select寬度的方法,涉及jQuery針對瀏覽器的判定及頁面元素屬性的動態(tài)操作技巧,需要的朋友可以參考下2016-03-03

