Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dariomaranes/intro-web-2025/llms.txt
Use this file to discover all available pages before exploring further.
Selectores del DOM
Los selectores son la base de la manipulación del DOM. Antes de poder modificar un elemento, necesitas seleccionarlo. JavaScript ofrece varios métodos para encontrar elementos en el documento.getElementById
Selecciona un elemento por su atributoid. Retorna un único elemento o null si no existe.
- Es el método más rápido
- Retorna un único elemento (los IDs deben ser únicos)
- Retorna
nullsi no encuentra el elemento - No necesitas el prefijo
#como en CSS
Los IDs deben ser únicos en toda la página. Si hay IDs duplicados, este método solo retornará el primero que encuentre.
getElementsByClassName
Selecciona todos los elementos que tienen una clase CSS específica. Retorna una HTMLCollection (similar a un array).- Retorna una colección viva (se actualiza automáticamente si el DOM cambia)
- Puedes iterar sobre ella con un bucle
for - No necesitas el prefijo
.como en CSS - Si no encuentra elementos, retorna una colección vacía (length = 0)
getElementsByTagName
Selecciona todos los elementos de un tipo de etiqueta HTML específico.- Retorna una HTMLCollection viva
- Útil para seleccionar todos los elementos de un tipo
- Puedes usar
'*'para seleccionar todos los elementos
querySelector
Selecciona el primer elemento que coincide con un selector CSS. Retorna un único elemento onull.
Ejemplos de Selectores CSS
- Clases
- IDs
- Atributos
- Combinadores
querySelectorAll
Selecciona todos los elementos que coinciden con un selector CSS. Retorna una NodeList.NodeList vs HTMLCollection
NodeList vs HTMLCollection
querySelectorAllretorna una NodeList estática (no se actualiza automáticamente)getElementsByClassNameretorna una HTMLCollection viva (se actualiza automáticamente)- NodeList soporta el método
forEach(), HTMLCollection no
Flexibilidad de Selectores
Flexibilidad de Selectores
querySelectorAllacepta cualquier selector CSS complejogetElementsByClassNamesolo acepta nombres de clases simples
Performance
Performance
getElementsByClassNamees ligeramente más rápido- Para la mayoría de casos, la diferencia es insignificante
- Elige el que te resulte más conveniente para tu caso de uso
Comparación de Métodos
| Método | Retorna | Vivo/Estático | Selector |
|---|---|---|---|
getElementById | Elemento único | N/A | ID solamente |
getElementsByClassName | HTMLCollection | Vivo | Clase solamente |
getElementsByTagName | HTMLCollection | Vivo | Etiqueta solamente |
querySelector | Elemento único | N/A | Cualquier CSS |
querySelectorAll | NodeList | Estático | Cualquier CSS |
¿Cuál Usar?
Para múltiples elementos con selectores complejos
Usa
querySelectorAll - acepta cualquier selector CSS.Para múltiples elementos simples por clase
Usa
getElementsByClassName o querySelectorAll - ambos funcionan bien.Selección en Contexto
Todos estos métodos también funcionan en elementos específicos, no solo endocument:
Próximos Pasos
Manipulación del DOM
Aprende a modificar elementos seleccionados
Event Listeners
Añade interactividad con eventos