Una vez que la página termina de cargarse, el navegador genera una representación de nuestro sitio web en forma de árbol, al que llamamos el Document Object Model, o como solemos llamarlo el DOM.
El DOM le permite a JavaScript acceder, recorrer, crear, reemplazar, editar y eliminar los elementos HTML que conforman nuestra página, es una interfaz de programación estándar, esto quiere decir que está pensado como un medio de comunicación para acceder a los elementos que forman nuestro sitio web.
El DOM se ve como un árbol en el que cada hoja o rama representa un elemento de HTML, la idea de representarlo como un árbol viene de buscar representar la jerarquía de nuestros documentos, es decir, quiénes son hijos de quién, cuáles son hermanos, etc.
Supongamos que nuestra página web se forma del siguiente código:
<html>
<head></head>
<body></body>
</html>
La representación de esta página tan sencilla sería tan simple como se ve a continuación:
HTML
|
-------------------------------------------------------------
| |
head body
En este árbol, vemos como los elementos head y body son hijos de HTML, se deduce esto porque aparecen dentro de la declaración de la etiqueta HTML misma, entre la etiqueta que abre, y la que cierra
<html>
<head></head>
<body></body>
</html>
Esto nos permite introducir nuevos conceptos con los que vamos a referirnos a los elementos HTML, refiriéndonos al parentesco que existe entre ellos.
En este ejemplo, decimos que head y body son hijos de html, y que html es su padre.
Con el código a continuación:
<html>
<head></head>
<body>
<p></p>
<div></div>
</body>
</html>
Podemos inferir lo siguiente, que p y div son hermanos e hijos de body, también pudiéramos decir que tanto p como div son hijos de HTML, porque se encuentran dentro de su declaración, de igual manera, consideramos únicamente a head y body como hijos directos de HTML, porque es su padre inmediato, p y div por otro lado, no son hijos directos de html pero sí son de body.
El DOM que representa este nuevo sitio se ve así:
HTML
|
----------------------------------------------------
| |
head body
|
-------------------
| |
p div
A cada punto donde se conectan, o a cada elemento HTML, en el DOM, lo llamamos un nodo, en este caso tenemos un árbol con 6 nodos, uno por cada elemento HTML.
Más adelante vamos a ver cómo, con JavaScript, podemos buscar elementos en el árbol para modificarlos u obtener los valores del elemento mismo. También, como parte del lenguaje, tenemos herramientas para eliminar nodos, crearlos o moverlos.
A continuación, puedes ver un vídeo con una explicación gráfica del DOM, parte del curso de manejo del DOM con JavaScript que puedes ver aquí
Consulta aquí el vídeo
Continuemos.
-
Módulo 1 | 3 clases
Introducción
expand_more -
Módulo 2 | 7 clases
Conceptos Fundamentales
expand_more-
play_circle_outline
Clase 1
Componentes de una página web
-
play_circle_outline
Clase 2
Cómo funciona el internet
-
play_circle_outline
Clase 3
El DNS y su funcionamiento
-
play_circle_outline
Clase 4
Lenguajes de marcado
-
play_circle_outline
Clase 5
HTML
-
play_circle_outline
Clase 6
La historia de HTML en 2 minutos
-
play_circle_outline
Clase 7
CSS
-
-
Módulo 3 | 17 clases
Primeros pasos en Desarrollo Web
expand_more-
play_circle_outline
Clase 1
Archivos HTML
-
play_circle_outline
Clase 2
Editores en línea
-
play_circle_outline
Clase 3
Especificar el tipo de documento
-
play_circle_outline
Clase 4
Elementos básicos de una página
-
play_circle_outline
Clase 5
Metadatos
-
play_circle_outline
Clase 6
Atributos
-
play_circle_outline
Clase 7
Cómo se ve nuestro primer proyecto
-
play_circle_outline
Clase 8
Encabezado de nuestra página
-
play_circle_outline
Clase 9
El atributo style
-
play_circle_outline
Clase 10
Colores
-
play_circle_outline
Clase 11
Tipografía
-
play_circle_outline
Clase 12
Títulos
-
play_circle_outline
Clase 13
Espacios en blanco
-
play_circle_outline
Clase 14
Listas
-
play_circle_outline
Clase 15
Links
-
play_circle_outline
Clase 16
Imágenes
-
play_circle_outline
Clase 17
Subir página a internet [gratis]
-
-
Módulo 4 | 12 clases
Concretando el conocimiento
expand_more-
play_circle_outline
Clase 1
Cómo configurar un servidor web
-
play_circle_outline
Clase 2
Localhost y Puertos
-
play_circle_outline
Clase 3
Estructura de Archivos
-
play_circle_outline
Clase 4
Selectores CSS
-
play_circle_outline
Clase 5
Archivos externos CSS
-
play_circle_outline
Clase 6
Normalizador CSS
-
play_circle_outline
Clase 7
Semántica de las etiquetas
-
play_circle_outline
Clase 8
Estructura del documento
-
play_circle_outline
Clase 9
Tablas
-
play_circle_outline
Clase 10
Iconos
-
play_circle_outline
Clase 11
Organización de código
-
play_circle_outline
Clase 12
Múltiples documentos HTML
-
-
Módulo 5 | 13 clases
CSS
expand_more-
play_circle_outline
Clase 1
Colores y fondos
-
play_circle_outline
Clase 2
Compatibilidad entre navegadores
-
play_circle_outline
Clase 3
Posicionamiento
-
play_circle_outline
Clase 4
Fuentes personalizadas
-
play_circle_outline
Clase 5
Modificadores de texto
-
play_circle_outline
Clase 6
Bordes y Sombras
-
play_circle_outline
Clase 7
Estilizar tablas
-
play_circle_outline
Clase 8
Shorthand Properties
-
play_circle_outline
Clase 9
Especificidad en CSS
-
play_circle_outline
Clase 10
Posiciones (absolute,fixed,relative) en CSS
-
play_circle_outline
Clase 11
Animaciones
-
play_circle_outline
Clase 12
Pseudo clases
-
play_circle_outline
Clase 13
Detalles finales de estilo
-
-
Módulo 6 | 7 clases
Diseño Responsivo
expand_more-
play_circle_outline
Clase 1
Qué es el diseño responsivo
-
play_circle_outline
Clase 2
Cómo probar el diseño responsivo de tu sitio
-
play_circle_outline
Clase 3
El viewport
-
play_circle_outline
Clase 4
Unidades de Medida
-
play_circle_outline
Clase 5
Overflow y Unidades Relativas
-
play_circle_outline
Clase 6
Media Queries
-
play_circle_outline
Clase 7
Mobile First
-
-
Módulo 7 | 11 clases
JavaScript
expand_more-
play_circle_outline
Clase 1
Qué es JavaScript - Desarrollo Web Profesional
-
play_arrow
Clase 2
Qué es el DOM - Desarrollo Web Profesional
-
play_circle_outline
Clase 3
Cómo colocar código de JavaScript en tu página web
-
play_circle_outline
Clase 4
Seleccionar elementos del DOM
-
play_circle_outline
Clase 5
Seleccionar múltiples elementos y recorrerlos
-
play_circle_outline
Clase 6
Eventos
-
play_circle_outline
Clase 7
Comportamiento por defecto de un evento
-
play_circle_outline
Clase 8
Quitar y Agregar clases a un elemento con JavaScript
-
play_circle_outline
Clase 9
Timers
-
play_circle_outline
Clase 10
Organiza tu código
-
play_circle_outline
Clase 11
Subir proyecto
-
-
Módulo 8 | 3 clases
Despedida
expand_more -
check_circle_outlineMódulo 9
Examen del curso
expand_more-
done_all
Examen
Examen final del curso
-