關于jquery中attr()和prop()方法的區(qū)別
最近項目回歸使用jquery,頁面渲染全是使用jquery做的,所以做的時候也遇到了許多以前沒有見過的問題,如這次操作【radio】控件的"checked"屬性時有遇到問題,
$("...").attr("checked",false);
無法起到作用,上網(wǎng)查了下使用prop()完美的解決了該問題,特此記錄一下。
官方定義:attr():
attr() 方法設置或返回被選元素的屬性和值。
當該方法用于返回屬性值,則返回第一個匹配元素的值。
當該方法用于設置屬性值,則為匹配元素設置一個或多個屬性/值對。
prop():
prop() 方法設置或返回被選元素的屬性和值。
當該方法用于返回屬性值時,則返回第一個匹配元素的值。
當該方法用于設置屬性值時,則為匹配元素集合設置一個或多個屬性/值對。
$('').attr()返回的是html對象
$('').prop()返回的是DOM對象
prop()
方法操作radio(checkbox)之類的控件,讓其選中的時候,其控件選中的值也會隨之改變。即既可以控制其選中,也能控制其取消選中;
類似于$("...").attr("checked");返回的是true或者false
如果有相應的屬性,返回的是該屬性,如果沒有則返回空串
attr()
方法操作adio(checkbox)之類的控件,讓其選中的時候,其控件選中的值不會隨之改變。即只能控制其選中,不能控制其取消選中;
類似于$("...").attr("checked");返回的是'checked'或者undefined
如果有相應的屬性,返回的是該屬性,如果沒有則返回undefined
attr和prop的使用場景:
1.添加屬性名稱該屬性就會生效應該使用prop();
2.是有true,false兩個屬性使用prop();(如'checked','selected','disabled'等)
3.其他則使用attr();
官方推薦使用:
- jQuery .attr()和.removeAttr()方法操作元素屬性示例
- jQuery使用attr()方法同時設置多個屬性值用法實例
- jQuery中attr()和prop()在修改checked屬性時的區(qū)別
- jQuery獲取attr()與prop()屬性值的方法及區(qū)別介紹
- Jquery attr()方法 屬性賦值和屬性獲取詳解
- jquery attr()設置和獲取屬性值實例教程
- 詳談jQuery操縱DOM元素屬性 attr()和removeAtrr()方法
- jQuery中.attr()和.data()的區(qū)別分析
- 詳談jQuery中使用attr(), prop(), val()獲取value的異同
- jquery更改元素屬性attr()方法操作示例
相關文章
基于jQuery實現(xiàn)左右div自適應高度完全相同的代碼
最近做前端設計時需要使左右兩個DIV高度自適應。這其中的jquery代碼中的獲得高度用的clientHeight,介紹一下幾種不同的獲得方式以及他們的差別2012-08-08使用jQuery的ajax功能實現(xiàn)的RSS Reader 代碼
Rss閱讀器挺不錯的。我覺得如果在igoogle或是dropthings這種形式的portal下來放很多RSS模塊顯示自己每天需要關注的信息那將會減少大家很多的打開瀏覽器和輸入網(wǎng)址的時間。2009-09-09jQuery EasyUI API 中文文檔 - ComboGrid 組合表格
jQuery EasyUI API 中文文檔 - ComboGrid 組合表格,需要的朋友可以參考下。2011-10-10