Beim Erstellen der Kontrollkästchen-Auswahlschaltfläche ist ein Problem aufgetreten. Verwenden Sie die Anweisung $.attr('checked',true), um das Attribut des Kontrollkästchens in aktiviert zu ändern Funktioniert nicht, nachdem der erste Klick gültig ist. IE8 hat kein Problem.
Baidu hat lange gebraucht, um herauszufinden, dass der Grund darin liegt, dass die Attribute von HTML in Attribute und Eigenschaften unterteilt sind. Nennen wir die letzteren zunächst Eigenschaften.
Das geprüfte Attribut ist in Attribut->geprüft und Eigenschaft->wahr, falsch unterteilt.
Wenn für ein Kontrollkästchen „checked“ nicht definiert ist, ist das Ergebnis von Alert($.attr(„checked“)) undefiniert. Falls definiert, wird das Ergebnis überprüft. Das Attribut ändert sich nicht, wenn sich der Status des Kontrollkästchens ändert.
Wenn prop($.attr("checked")) verwendet wird, ist die Ausgabe falsch bzw. wahr. Die Eigenschaft ändert sich, wenn sie sich ändert.
So sollte prop() verwendet werden, wenn das überprüfte Attribut geändert wird. prop() wurde nach jQuery 1.6 hinzugefügt.
Charts zu anderen ähnlichen Immobilien im Internet:
Wenn in Versionen vor IE9 die Eigenschaft nicht gelöscht wird, bevor das DOM-Element entfernt wird, verwenden Sie außerdem die Methode .prop(), um den Wert der DOM-Elementeigenschaft festzulegen (außer bei einfachen Typen: Zahl, Zeichenfolge, Boolescher Wert). ) führt zu einem Speicherverlust. Um den Wert des DOM-Objekts sicher festzulegen und Speicherlecks zu vermeiden, können Sie die Methode .data() verwenden. Da ich noch nicht darauf gestoßen bin, schreibe ich es hier auf.