Tengo un formulario con muchas entradas.
$("input[name='firstname']")Devolver
Objeto { 0: input.form-control, 1: input.form-control, 2: input.form-control, 3: input.form-control, length: 4, prevObject: {…} }
Busco establecer un valor para la entrada, así que probé
$("input[name='firstname']")[0].val=12; $("input[name='firstname']")[0].text=12;No veo el valor en la entrada.
así que lo intenté
$("input[name='firstname']")[0].val("12");TypeError no detectado: $(...)[0].val no es una función
La función jQuery $(selector) devuelve un objeto jQuery que actúa como una colección de elementos nativos.
Al acceder a propiedades indexadas como [0] , devuelve el HTMLElement nativo.
Si solo desea acceder al primer elemento coincidente dentro del objeto pero que aún sea un objeto jQuery , use .eq() . El método .val() le permite establecer el valor de forma segura.
$("input[name=firstname]").eq(0).val(12)Alternativamente, no use jQuery en absoluto
// querySelector returns the first match or null const firstName = document.querySelector("input[name=firstname]"); if (firstName) { firstName.value = 12; }