W tym przypadku trzeba prop()
zamiast attr()
, zastępujące połączenia do attr()
z prop()
w kodzie generalnie będzie działał.
Odhttp://blog.jquery.com/2011/05/10/jquery-1-6-1-rc-1-released/
Różnica między atrybutów i właściwości mogą być ważne w określonych sytuacjach. Przed jQuery 1.6, metoda .attr()
czasami uwzględniała wartości właściwości podczas pobierania niektórych atrybutów, co może powodować niespójne zachowanie. Od jQuery 1.6, metoda .prop()
zapewnia sposób jawnego pobierania wartości właściwości, podczas gdy .attr()
pobiera atrybuty.
elem.checked
==== true (Boolean)
ulegnie zmianie wraz stanie checkbox
$(elem).prop("checked")
==== true (Boolean)
ulegnie zmianie wraz stanie checkbox
elem.getAttribute("checked")
===== "checked" (String)
Stan początkowy z wyboru; nie zmienia
$(elem).attr("checked") (1.6)
===== "checked" (String)
Początkowy stan pola wyboru; nie zmienia
$(elem).attr("checked") (1.6.1+)
======== "checked" (String)
ulegnie zmianie wraz stanie checkbox
$(elem).attr("checked") (pre-1.6)
======= true (Boolean)
Zmieniono ze stanu checkbox
Również ten url pomoże więcej o zapytaniach .prop() vs .attr()
różnica /is-checked-vs-attr-checked-checked/7
na http://jsperf.com/is-checked-vs-attr-checked-checked/7
także zrozumieć The elements atttribute and properties
odnoszą http://christierney.com/2011/05/06/understanding-jquery-1-6s-dom-attribute-and-properties/ http://jsperf.com/is-checked-vs-attr-checked-checked/7
Ones jQuery drugiej nie –
jest Wymień .attr() z .prop(), ponieważ .prop() jest szybsza – frosdqy
zaktualizowana prop –