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兩個...