Obtener elemento por nombre en JavaScript

Shraddha Paghdar 16 febrero 2024
  1. Obtener Elemento por getElementsByName() en JavaScript
  2. Obtener Elemento por querySelectorAll() en JavaScript
Obtener elemento por nombre en JavaScript

Hay formas de obtener un elemento como getElementById() y getElementByClass(). Pero, ¿qué sucede si desea seleccionar/editar todos los elementos con un nombre específico?

JavaScript proporciona el método querySelectorAll() o getElementsByName() para realizar esta tarea.

Este artículo presentará cómo obtener elementos por nombre en JavaScript.

Obtener Elemento por getElementsByName() en JavaScript

getElementsByName es un método document integrado que devuelve el elemento Objects/NodeList cuyo atributo name coincide con el nombre especificado. Esta lista de nodos representa un array de nodos a los que se puede acceder mediante un índice, y este índice comienza con 0 como cualquier otra matriz.

Sintaxis

document.getElementsByName(name);

name es un parámetro obligatorio que especifica el name de un atributo HTML que debe coincidir. Devuelve el objeto del elemento DOM correspondiente si se encuentran los elementos; de lo contrario, devuelve null.

La diferencia entre getElementsByName y querySelectorAll es que getElementsByName primero selecciona solo aquellos elementos cuyo atributo de nombre especificado coincide con el nombre dado. Mientras que querySelectorAll puede usar cualquier selector, proporcionando más flexibilidad.

Para obtener información adicional, lea la documentación del método getElementById.

Código de ejemplo:

<div>
  <label>First Name</label>
  <input type="text" id="firstName" name="firstName" value="John">
</div>
<div>
  <label>Last Name</label>
  <input type="text" id="lastName" name="lastName" value="Doe">
</div>
const firstName = document.getElementsByName('firstName');
const lastName = document.getElementsByName('lastName');
console.log(firstName[0].value);
console.log(lastName[0].value);

El código anterior definió dos elementos de entrada con firstName y lastName. Cuando accedemos al documento con getElementsByName(), encuentra todos los nodos cuyo atributo de nombre coincida con el nombre y devuelve NodeList. Como se trata de un array, podemos extraer el primer elemento coincidente con [0]. Si se encuentra más de un elemento coincidente, puede iterar e imprimir todos los valores a través del array. La salida se verá así:

Producción :

John
Doe

Obtener Elemento por querySelectorAll() en JavaScript

querySelectorAll() es un método document integrado que devuelve los objetos Element / NodeList cuyos selectores coinciden con los selectores especificados. También se pueden transferir varios selectores.

La diferencia entre querySelectorAll() y querySelector() es que todos los objetos del elemento coincidente se devuelven primero y luego el objeto del único elemento coincidente. Si se pasa un selector no válido, se muestra un SyntaxError.

Sintaxis

document.querySelectorAll(selectors);

selectores es un parámetro obligatorio que especifica el selector de un atributo HTML que debe coincidir. Puede pasar múltiples selectores separando comas. Por ejemplo, document.querySelectorAll('input[name=firstName]') encuentra todos los elementos de entrada cuyo nombre es firstName. Devuelve objetos de elementos DOM coincidentes si se encuentran elementos coincidentes; de lo contrario, devuelve una NodeList vacía.

Para obtener información adicional, lea la documentación del método querySelectorAll.

Código de ejemplo:

<div>
  <label>FirstName</label>
  <input type="text" id="firstName" value="John">
</div>
<div>
  <label>Last Name</label>
  <input type="text" id="lastName" value="Doe">
</div>
const selectors = document.querySelectorAll('input[name=firstName]');
console.log(selectors.length, selectors[0].value);

El código anterior definió dos elementos de entrada con firstName y lastName. Cuando accedemos al documento con querySelectorAll(), encuentra todos los nodos cuyo atributo de nombre coincida con el nombre dado y devuelve NodeList. Como se trata de un array, podemos extraer el primer elemento coincidente con [0]. Si se encuentra más de un elemento aleatorio, puede iterar en la matriz e imprimir todos los valores. La salida se verá así:

Producción :

1
John
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

Artículo relacionado - JavaScript Element