.attr( ) 可以設置元素的屬性(也就是給元素新增加一個原來並不存在的屬性)也可以獲取元素的本來就有的屬性以及額外設置的屬性。如果要獲取的屬性沒有設置,那麼獲取到的結果是 undefined; .prop( )可以設置元素的屬性(HTML固有的屬性,可以給元素添加屬性)也可以獲取元素的固有的屬性 ...
.attr( ) 可以設置元素的屬性(也就是給元素新增加一個原來並不存在的屬性)也可以獲取元素的本來就有的屬性以及額外設置的屬性。如果要獲取的屬性沒有設置,那麼獲取到的結果是 undefined;
.prop( )可以設置元素的屬性(HTML固有的屬性,可以給元素添加屬性)也可以獲取元素的固有的屬性值,如果是額外設置的其他屬性,則無法通過prop( )獲取。
.css() 只能獲取是 style 裡面的屬性值;
註意語法:獲取style樣式屬性值:對象.css(“屬性名”),設置style樣式屬性值:對象.css(“屬性名”),設置style樣式屬性值:對象.css(“屬性名”,“屬性值”)雙引號必不可少
對於HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。
對於HTML元素我們自己自定義的DOM屬性,在處理時,使用attr方法。
<input id="chk1" type="checkbox" />是否可見 <input id="chk2" type="checkbox" checked="checked" />是否可見
像checkbox,radio和select這樣的元素,選中屬性對應“checked”和“selected”,這些也屬於固有屬性,因此需要使用prop方法去操作才能獲得正確的結果。
獲取屬性值:
$("#chk1").prop("checked") == false $("#chk2").prop("checked") == true
如果上面使用attr方法,則會出現:
$("#chk1").attr("checked") == undefined
$("#chk2").attr("checked") == "checked"
總結:
1 如果想要通過attr()獲取屬性值,那麼該屬性必須顯式的設置在HTML代碼中或者通過attr新增的屬性才能被獲取到,如果沒有設置,那麼將返回undefined
2 如果通過prop()獲取屬性值,那麼該屬性只能是HTMl的固有屬性,無論是否顯式的設置,都可以獲取其對應的屬性值,如果是額外增加的屬性,那麼將無法獲取。
轉載自:https://www.cnblogs.com/lijianda/p/9562064.html