Estoy usando jQuery y me pregunto si debería usar val () o text () (u otro método) para leer y actualizar el contenido de un área de texto.
He probado ambos y he tenido problemas con ambos. Cuando uso text () para actualizar textarea, los saltos de línea (\ n) no funcionan. Cuando uso val () para recuperar el contenido del área de texto, el texto se trunca si es demasiado largo.
Respuestas:
La mejor manera de establecer / obtener el valor de un área de texto es
.val()
,.value
método..text()
utiliza internamente el método.textContent
(o.innerText
para IE) para obtener el contenido de un<textarea>
. Los siguientes casos de prueba ilustran la formatext()
y.val()
se relacionan entre sí:La
value
propiedad , utilizada por.val()
siempre muestra el valor visible actual, mientras quetext()
el valor de retorno de 'puede ser incorrecto.fuente
text()
ya no funciona después de cambiar manualmente cualquier cosa en él (por ejemplo, la adición de un personaje).val()
siempre trabaja contextarea
elementos..text()
funciona a veces y falla otras veces! No es confiable (probado en Chrome 33)Lo mejor es que también
.val()
funciona a la perfección con otros elementos de formulario (comoinput
) mientras que.text()
falla.fuente