$("input").attr("disabled", true);
ab ... Ich weiß es nicht mehr.
Es ist Dezember 2013 und ich habe wirklich keine Ahnung was ich dir sagen soll.
Zuerst war es immer .attr()
, dann war es immer .prop()
, also kam ich hierher zurück aktualisiert die Antwort und machte es genauer.
Dann ein Jahr später änderte jQuery wieder ihre Meinung und ich will nicht einmal das verfolgen.
Lange Rede, kurzer Sinn, jetzt ist dies die beste Antwort: "Sie können beide verwenden ... aber es kommt darauf an."
Sie diese Antwort lesen sollte stattdessen: https://stackoverflow.com/a/5876747/257493
Und ihre Release Notes für diese Änderung sind hier enthalten:
Weder .attr() noch .prop() sollte für immer/Einstellung verwendet werden Wert. Verwenden Sie stattdessen die .val() -Methode (obwohl die Verwendung von .attr ("value", "somevalue") weiterhin funktioniert, wie vor 1.6).
Zusammenfassung von bevorzugten Usage
Die .prop() Methode sollte für Boolesche Attribute/Eigenschaften und Objekte verwendet werden, die in HTML (wie window.location) nicht existieren. Alle anderen Attribute (die Sie im HTML sehen können) können und sollten weiterhin mit der Methode .attr() manipuliert werden.
Oder mit anderen Worten:
".prop = Nicht-Dokument stuff"
".attr" = document Sachen
... ...
Können wir alle hier eine Lektion über API-Stabilität lernen ...
direkt
+1 für das Update. Vielen Dank. – rie819
+1 für die Aktualisierung der Text groß genug für mich, um darauf zu achten –
@VaelVictus Nicht so schnell. Es tut mir leid zu sagen, dass sie es ein Jahr nach der Veröffentlichung wieder geändert haben ... und ich habe diese Antwort vergessen. Lesen Sie diese Antwort: http://stackoverflow.com/a/5876747/257493 – Incognito