js中prop和attr區別

2022-06-12 03:54:08 字數 643 閱讀 7889

js中prop和attr區別

首先attr 是從頁面搜尋獲得元素值,所以頁面必須明確定義元素才能獲取值,相對來說比較慢。

如:$('input:checkbox').attr('type'); 返回checkbox.

$('input:checkbox').attr('checked'); 返回undefined。

因為中沒有checked關鍵字。

prop是從屬性物件中取值,屬性物件中有多少屬性,就能獲取多少值,不需要在頁面中顯示定義。

比如 $('input:checkbox').prop('checked'); 返回false。

這裡就會遇到個問題:如果是自定義的屬性,那麼屬性物件中是沒有這個屬性的。所以prop返回undefined。但是頁面中可以檢索到這個屬性,所以attr是可以獲取的。

其次attr獲取的是初始化值,除非通過attr(『name』,』value』)改變,否則值不變。prop屬性值是動態的,比如checkbox,選中後,checked變為true,prop值也會發生改變。

總結所以有個經驗就是:

對於html元素本身就帶有的固有屬性,在處理時,使用prop方法。快速,準確。

對於html元素我們自己自定義的dom屬性,在處理時,使用attr方法。

JS中attr和prop區別

一 attr和prop區別 attr 是從頁面搜尋獲得元素值,所以頁面必須明確定義元素才能獲取值,相對來說較慢。prop是從屬性物件中取值,屬性物件中有多少屬性,就能獲取多少值,不需要在頁面中顯示定義。二 attr和prop怎麼選擇?對於html元素本身就帶有的固有屬性,在處理時,使用prop方法。...

js中prop和attr區別

首先 attr 是從頁面搜尋獲得元素值,所以頁面必須明確定義元素才能獲取值,相對來說比較慢。如 input checkbox attr type 返回checkbox.input checkbox attr checked 返回undefined。因為中沒有checked關鍵字。prop是從屬性物件...

js中attr()和prop()的區別

1.所有的dom物件都有乙個attribute屬性,而prop可以操作屬性,所以也可以操作屬性節點 2.官方推薦 在操作屬性節點時,具有true和false兩個屬性的屬性節點,如checked,selected或者disabled使用prop 其他使用attr 因為,如果具有true和false兩個...