T14: JavaScript - Manipulación del DOM y Eventos
Tabla de Contenidos
1.1. ¿Qué es el DOM? (Document Object Model)
1.2. La estructura de árbol y tipos de nodos
1.3. El objeto global
windowydocument1.4. La relación entre HTML y el DOM
1.5. Inspeccionando el DOM en DevTools
2.1. Métodos modernos:
querySelectoryquerySelectorAll2.2. Métodos clásicos:
getElementById,getElementsByClassName2.3. NodeList vs HTMLCollection vs Array
2.4. Conversión a Array (uso de
Array.fromy spread)2.5. Selectores CSS avanzados en JavaScript
3.1.
textContentvsinnerText: Texto plano3.2.
innerHTML: Insertando HTML (y riesgos de XSS)3.3. Leer y modificar atributos:
getAttribute,setAttribute3.4. Propiedades directas vs Atributos HTML (
id,src,value,href)3.5. Data Attributes (
dataset): Guardando datos en el DOM
4.1. La propiedad
style: Estilos en línea4.2.
window.getComputedStyle(): Leer estilos finales4.3. Gestión profesional con
classList(add,remove,toggle,contains)4.4. Manipulación de variables CSS (Custom Properties)
5.1. El ciclo de vida: Crear, Configurar, Insertar
5.2.
createElement()ycreateTextNode()5.3. Métodos de inserción:
appendChild,append,prepend5.4. Inserción precisa:
insertAdjacentHTMLyinsertAdjacentElement5.5. Eliminación de nodos:
remove()yremoveChild()5.6.
DocumentFragment: Renderizado eficiente5.7. Patrón práctico: Generar listas desde Arrays
6.1. Navegar hacia los padres:
parentElement,closest6.2. Navegar hacia los hijos:
children,firstElementChild,lastElementChild6.3. Navegar entre hermanos:
nextElementSibling,previousElementSibling6.4. Diferencia entre Elementos y Nodos (texto/comentarios)
6.5. Patrón práctico: Recorrer un árbol recursivamente
7.1. ¿Qué es un evento? Modelo asíncrono básico
7.2.
addEventListener: La forma correcta de escuchar7.3. El objeto
Event: propiedades comunes (target,type)7.4. Eliminar eventos:
removeEventListener7.5. El problema de
thisen los eventos y Arrow Functions7.6. Eventos inline (NO recomendado)
8.1. Ratón:
click,dblclick,mousedown,mouseup8.2. Movimiento:
mousemove,mouseentervsmouseover8.3. Teclado:
keydown,keyup(y el obsoletokeypress)8.4. Propiedades de teclado:
keyvscode8.5. Modificadores:
ctrlKey,shiftKey,altKey8.6. Patrón práctico: Detectar Enter en un input
8.7. Propiedades adicionales de eventos de ratón
8.8. Patrón práctico: Detectar botón del ratón
9.1. Acceso a formularios y elementos (
document.forms)9.2. Eventos principales:
submit,input,change,focus,blur9.3.
event.preventDefault(): Controlar el envío9.4. Lectura de valores (
value,checked)9.5. Objeto
FormData: Procesamiento moderno de formularios9.6. Patrón práctico: Validación en tiempo real
10.1. Las 3 fases: Capturing, Target, Bubbling
10.2. Entendiendo el Bubbling (Burbujeo)
10.3.
stopPropagation()ystopImmediatePropagation()10.4. Event Delegation: El patrón de oro para rendimiento
10.5. Casos prácticos de delegación
10.6 Captura (Capturing Phase) - Uso avanzado
11.1. El objeto
windowy dimensiones del viewport11.2.
localStorageysessionStorage(Repaso práctico)11.3. Timers:
setTimeout,setIntervalyrequestAnimationFrame11.4. Objeto
location: trabajar con URLs11.5. Objeto
history: navegación del historial11.6. Patrón práctico: tema persistente
12.1. Minimizar Reflow y Repaint (Rendimiento)
12.2. Separación de responsabilidades (HTML/CSS/JS)
12.3. Gestión de memoria: limpiar eventos
12.4. Accesibilidad (A11Y) desde JavaScript
12.5. Estructura de una aplicación SPA vainilla
Última actualización
¿Te fue útil?