$("input").attr("disabled", true);
a partir de ... No sé más.
Es diciembre de 2013 y realmente no tengo idea de qué decirles.
Primero fue siempre .attr()
, luego siempre fue .prop()
así, así que volví aquí actualicé la respuesta y la hice más precisa.
Luego, un año después, jQuery volvió a cambiar de opinión y ni siquiera quiero hacer un seguimiento de esto.
En pocas palabras, en este momento, esta es la mejor respuesta: "puede usar ambos ... pero depende".
En su lugar, debería leer esta respuesta: https://stackoverflow.com/a/5876747/257493
Y sus notas de lanzamiento para ese cambio se incluyen aquí:
Ni .attr () ni .prop () deben usarse para obtener / establecer el valor. Use el método .val () en su lugar (aunque usar .attr ("value", "somevalue") continuará funcionando, como lo hizo antes de 1.6).
Resumen de uso preferido
El método .prop () debe usarse para atributos / propiedades booleanas y para propiedades que no existen en html (como window.location). Todos los demás atributos (los que puede ver en el html) pueden y deben seguir siendo manipulados con el método .attr ().
O en otras palabras:
".prop = cosas que no son documentos"
".attr" = material del documento
... ...
¿Podemos todos aprender una lección aquí sobre la estabilidad API ...