Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

470
Vistas
¿Cuál es la diferencia entre jQuery .val() y .attr('value')?

Creo que el título es lo suficientemente claro.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

.val() funciona en todos los elementos de tipo de entrada de manera útil, incluido <select> ...incluso en los casos de <select multiple> , casillas de verificación y botones de radio (en los que .val() obtiene o establece una matriz de valores seleccionados no solo una cadena).

Básicamente, sirven para diferentes propósitos, aunque .attr('value') se comporta igual en algunas situaciones, como cuadros de texto. El método preferido es .val() para obtener un comportamiento consistente en todas partes.


Solo por diversión, aquí hay un ejemplo menos conocido de casillas de verificación que hace que .val() sea útil:

 <input name="mytest" type="checkbox" value="1"> <input name="mytest" type="checkbox" value="2"> <input name="mytest" type="checkbox" value="3"> <input name="mytest" type="checkbox" value="4">

Puedes hacerlo:

 $("input[name='mytest']").val([1, 2, 3]);

....que marcará las primeras 3 casillas. Puedes intentarlo aquí .

over 4 years ago · Santiago Trujillo Denunciar

0

Además, .attr('value') devuelve el valor que tenía antes de editar el campo de entrada. Y .val() devuelve el valor actual.

over 4 years ago · Santiago Trujillo Denunciar

0

Para agregar a la respuesta de actis ...

Además, .attr('value') devuelve el valor que tenía antes de editar el campo de entrada. Y .val() devuelve el valor actual.

Cuando se trabaja con un campo de entrada de texto, los métodos de establecimiento de .attr() y .val() funcionan de manera diferente.

 .val('newval')

establecerá el valor que el usuario ve en la página y actualizará el valor devuelto por las subsiguientes llamadas al método .val(). No establecerá el atributo value= del elemento.

OTOH

 .attr('value','newval')

establecerá el atributo value= en el elemento. Si el usuario no ha escrito y no se ha llamado a .val(newval), hacer esto también actualizará visualmente el control y actualizará el valor devuelto por .val().

Puede investigar más a fondo con el siguiente jsfiddle:

https://jsfiddle.net/jasonnet/vamLww2k/

Buena suerte.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda