$("input").attr("disabled", true);
по состоянию на ... я больше не знаю.
Сейчас декабрь 2013 года, и я действительно понятия не имею, что вам сказать.
Сначала было всегда .attr()
, потом было всегда .prop()
, поэтому я вернулся сюда, обновил ответ и сделал его более точным.
Затем, год спустя, jQuery снова передумали, и я даже не хочу отслеживать это.
Короче говоря, на данный момент это лучший ответ: «вы можете использовать оба ... но это зависит от обстоятельств».
Вместо этого вам следует прочитать этот ответ: https://stackoverflow.com/a/5876747/257493
И их примечания к выпуску для этого изменения включены здесь:
Ни .attr (), ни .prop () не должны использоваться для получения / установки значения. Вместо этого используйте метод .val () (хотя использование .attr ("значение", "некоторое значение") будет продолжать работать, как это было до 1.6).
Резюме предпочтительного использования
Метод .prop () следует использовать для логических атрибутов / свойств и для свойств, которые не существуют в html (например, window.location). Все остальные атрибуты (те, которые вы видите в html) можно и нужно продолжать манипулировать с помощью метода .attr ().
Или другими словами:
".prop = не документ"
".attr" = материал документа
... ...
Пусть мы все извлечем здесь урок о стабильности API ...