jquery prop()和attr()區別:1、【attr()】方法設定或返回被選元素的屬性和值;2、【prop()】方法設定或返回被選元素的屬性和值。
jquery prop()和attr()區別:
最近專案迴歸使用jquery,頁面渲染全是使用jquery做的,所以做的時候也遇到了許多以前沒有見過的問題,如這次操作【radio】控制元件的"checked"屬性時有遇到問題,
$("...").attr("checked",false);
無法起到作用,上網查了下使用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 prop()和attr()區別是什麼的詳細內容,更多請關注TW511.COM其它相關文章!