jquery prop()和attr()區別是什麼

2020-11-24 21:02:32

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();

官方推薦使用:

678066685f870abc947fda6cf284082.png

相關免費學習推薦:(視訊)

以上就是jquery prop()和attr()區別是什麼的詳細內容,更多請關注TW511.COM其它相關文章!