1. 程式人生 > >firefox(火狐)下 js中設置checkbox屬性checked="checked"已有,但復選框卻不顯示勾選的原因

firefox(火狐)下 js中設置checkbox屬性checked="checked"已有,但復選框卻不顯示勾選的原因

顯示 isa googl def 獲取 undefine 方法 ted 網上

剛看到問題時以為是瀏覽器兼容性的原因,ie、google都能正常顯示。

網上查詢之後發現是jQuery的attr()方法用的不恰當。

jQuery1.6之前使用attr()可以修改 ,從jQuery 1.6開始,attr()方法返回undefined尚未設置的屬性,對於設置checked這種類型的屬性使用prop()來設置。

jquey官網給出的兩個方法的說明:

獲取匹配元素集中第一個元素的屬性值,或為每個匹配元素設置一個或多個屬性。

並指出檢索和修改DOM屬性,如checkedselecteddisabled元素形式的元素狀態,使用.prop()方法。

jQuery API 詳細說明:https://api.jquery.com/attr/

firefox(火狐)下 js中設置checkbox屬性checked="checked"已有,但復選框卻不顯示勾選的原因