In diesem Fall müssen Sie prop()
statt attr()
, Anrufe attr()
mit prop()
im Code ersetzt wird in der Regel arbeiten.
Vonhttp://blog.jquery.com/2011/05/10/jquery-1-6-1-rc-1-released/
Der Unterschied zwischen den Attributen und Eigenschaften kann in bestimmten Situationen wichtig sein. Vor jQuery 1.6 hat die Methode .attr()
bei der Abfrage einiger Attribute manchmal Eigenschaftswerte berücksichtigt, was zu inkonsistentem Verhalten führen konnte. Ab jQuery 1.6 bietet die .prop()
-Methode eine Möglichkeit zum expliziten Abrufen von Eigenschaftswerten, während .attr()
Attribute abruft.
elem.checked
==== true (Boolean)
Wird mit Checkbox Zustand ändern
$(elem).prop("checked")
==== true (Boolean)
Wird mit Checkbox Zustand
elem.getAttribute("checked")
===== "checked" (String)
Anfangszustand der Checkbox ändern; ändert sich nicht
===== "checked" (String)
Ausgangszustand des Kontrollkästchens; ändert sich nicht
$(elem).attr("checked") (1.6.1+)
======== "checked" (String)
Wird mit Checkbox Zustand ändern
$(elem).attr("checked") (pre-1.6)
======= true (Boolean)
Changed mit Checkbox Zustand
Auch wird diese URL Ihnen helfen über Ihre Anfragen .prop() vs .attr()
Ein Unterschied von /is-checked-vs-attr-checked-checked/7
auf http://jsperf.com/is-checked-vs-attr-checked-checked/7
auch 0.123.029 zu verstehensiehe 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 die andere nicht –
ersetzen .attr() mit .prop(), weil .prop() schneller – frosdqy
ist aktualisiert –