1. 程式人生 > >jquery中attr和prop的區別淺析

jquery中attr和prop的區別淺析

大家都知道有的瀏覽器只要寫disabled,checked就可以了,而有的要寫成disabled = "disabled",checked="checked",比如用attr("checked")獲取checkbox的checked屬性時選中的時候可以取到值,值為"checked"但沒選中獲取值就是undefined。

jq提供新的方法“prop”來獲取這些屬性,就是來解決這個問題的,以前我們使用attr獲取checked屬性時返回"checked"和"",現在使用prop方法獲取屬性則統一返回true和false。

那麼,什麼時候使用attr(),什麼時候使用prop()?
1.新增屬性名稱該屬性就會生效應該使用prop();


2.是有true,false兩個屬性使用prop();
3.其他則使用attr();
專案中jquery升級的時候大家要注意這點!

以下是官方建議attr(),prop()的使用:
Attribute/Property.attr().prop()
accesskey
align
async
autofocus
checked
class
contenteditable
draggable
href
id
label
location(i.e.window.location)
multiple
readOnly
rel
selected
src
tabindex
title
type
width