{"id":806,"date":"2024-07-31T07:24:36","date_gmt":"2024-07-31T05:24:36","guid":{"rendered":"https:\/\/blog.sutilweb.eu\/?page_id=806"},"modified":"2024-07-31T07:24:36","modified_gmt":"2024-07-31T05:24:36","slug":"002-dom-introduccion-al-dom","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/javascript\/javascript-practico\/13-dom-document-object-model\/002-dom-introduccion-al-dom\/","title":{"rendered":"002. DOM: Introducci\u00f3n al DOM"},"content":{"rendered":"\n<p>La <strong>API<\/strong> del <strong>DOM<\/strong> es la <strong>API<\/strong> que nos permite manejar <strong>HTML<\/strong> con <strong>Javascript<\/strong> a trav\u00e9s de los <strong>navegadores<\/strong>.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Elementos del documento<\/h2>\n\n\n\n<p>Como vimos en el cap\u00edtulo anterior, el objeto padre de los navegadores es el objeto <strong><em>window<\/em><\/strong>, y de <strong><em>window<\/em><\/strong> cuelgan todas las <strong>APIs<\/strong> del <strong>navegador<\/strong>, entre ellas el <strong>DOM<\/strong>, que es la <strong>API<\/strong> que vamos a ver a lo largo de estos cap\u00edtulos.<\/p>\n\n\n\n<p>El <strong>DOM<\/strong> nos muestra el c\u00f3digo <strong>HTML<\/strong>. Podemos imprimir en <strong>consola<\/strong> todo lo que cuelga de <strong><em>document<\/em><\/strong>, de la siguiente manera.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(window.document);\n\/\/ O as\u00ed\nconsole.log(document);\n\/\/ No es necesario especificar la palabra window<\/pre>\n\n\n\n<p>En clases m\u00e1s avanzadas guardaremos los elementos del <strong>DOM<\/strong> en <strong>variables<\/strong> para poder interactuar. Gracias a la notaci\u00f3n del punto (.) es como vamos a ir accediendo a los <strong>nodos del DOM<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mostrar el head (cabecera)<\/h2>\n\n\n\n<p>para acceder al &lt;<strong><em>head&gt;<\/em><\/strong> de nuestra p\u00e1gina web hacemos lo siguiente.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.head);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Mostrar el body (cuerpo)<\/h2>\n\n\n\n<p>Para acceder al <strong>cuerpo<\/strong> (<strong><em>&lt;body&gt;<\/em><\/strong>) de nuestra p\u00e1gina web escribimos lo siguiente.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.body);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Mostrar el tipo de documento<\/h2>\n\n\n\n<p>La siguiente sintaxis nos muestra el <strong><em>doctype<\/em><\/strong> de nuestra p\u00e1gina HTML.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.documentElement);\n\/\/ Otra manera\nconsole.log(document.doctype);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Juego de caracteres<\/h2>\n\n\n\n<p>Lo har\u00edamos con la siguiente sintaxis.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.charset);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Title<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.title);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Lista de enlaces<\/h2>\n\n\n\n<p>Si nuestro documento tuviera enlaces, la sintaxis ser\u00eda.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.links);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Im\u00e1genes<\/h2>\n\n\n\n<p>La sintaxis ser\u00eda.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.images);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Formularios<\/h2>\n\n\n\n<p>La sintaxis ser\u00eda.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.forms);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Hojas de estilo<\/h2>\n\n\n\n<p>Con la siguiente sintaxis se nos muestra una colecci\u00f3n con las hojas de estilo del documento.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.styleSheets);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Mostrar los scripts<\/h2>\n\n\n\n<p>Se muestran de la siguiente manera.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.scripts);<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Mostrar algo que hemos seleccionado<\/h2>\n\n\n\n<p>La sintaxis es:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(document.getSelection().toString());<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Escribir en el documento<\/h2>\n\n\n\n<p>Para ello tenemos un m\u00e9todo que cuelga de <strong><em>document<\/em><\/strong>, denominado <strong><em>write()<\/em><\/strong>, que aunque no se considera buena pr\u00e1ctica su uso, permite escribir al final de nuestro documento. Su sintaxis es.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">document.write(\"&lt;h2&gt;Sutil Web&lt;\/h2&gt;\");<\/pre>\n\n\n\n<p>En el siguiente cap\u00edtulo comenzaremos a ver como interactuar con los <strong>nodos<\/strong> y <strong>elementos<\/strong> (<strong>etiquetas HTML<\/strong>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La API del DOM es la API que nos permite manejar HTML con Javascript a trav\u00e9s de los navegadores.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":800,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-806","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"La API del DOM es la API que nos permite manejar HTML con Javascript a trav\u00e9s de los navegadores.","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=806"}],"version-history":[{"count":2,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/806\/revisions"}],"predecessor-version":[{"id":808,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/806\/revisions\/808"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/800"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}