$("input").attr("disabled", true);
ab ... ich weiß 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, aktualisierte die Antwort und machte sie genauer.
Dann, ein Jahr später, änderte jQuery erneut seine Meinung und ich möchte nicht einmal den Überblick behalten.
Kurz gesagt, ab sofort ist dies die beste Antwort: "Sie können beide verwenden ... aber es kommt darauf an."
Sie sollten stattdessen diese Antwort lesen: https://stackoverflow.com/a/5876747/257493
Und ihre Versionshinweise für diese Änderung sind hier enthalten:
Weder .attr () noch .prop () sollten zum Abrufen / Festlegen von Werten verwendet werden. Verwenden Sie stattdessen die Methode .val () (obwohl die Verwendung von .attr ("value", "somevalue") wie vor 1.6 weiterhin funktioniert).
Zusammenfassung der bevorzugten Verwendung
Die .prop () -Methode sollte für boolesche Attribute / Eigenschaften und für Eigenschaften verwendet werden, die in HTML nicht vorhanden sind (z. B. window.location). Alle anderen Attribute (die Sie im HTML-Code sehen können) können und sollten weiterhin mit der Methode .attr () bearbeitet werden.
Oder mit anderen Worten:
".prop = Nicht-Dokument-Zeug"
".attr" = Dokumentmaterial
... ...
Mögen wir alle hier eine Lektion über API-Stabilität lernen ...