js中prop和attr區別


js中prop和attr區別
首先
attr 是從頁面搜索獲得元素值,所以頁面必須明確定義元素才能獲取值,相對來說比較慢。 
如:
<input name='test' type='checkbox'> 
$('input:checkbox').attr('type'); 返回checkbox. 
$('input:checkbox').attr('checked'); 返回undefined。 
因為<input name='test' type='checkbox'>中沒有checked關鍵字。
prop是從屬性對象中取值,屬性對象中有多少屬性,就能獲取多少值,不需要在頁面中顯示定義。 
比如 
$('input:checkbox').prop('checked'); 返回false。
這里就會遇到個問題:如果是自定義的屬性,那么屬性對象中是沒有這個屬性的。所以prop返回undefined。但是頁面中可以檢索到這個屬性,所以attr是可以獲取的。
其次
attr獲取的是初始化值,除非通過attr(‘name’,’value’)改變,否則值不變。prop屬性值是動態的,比如checkbox,選中后,checked變為true,prop值也會發生改變。
總結
所以有個經驗就是:
對於HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。快速,准確。
對於HTML元素我們自己自定義的DOM屬性,在處理時,使用attr方法。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM