{"id":48741,"date":"2024-04-15T09:48:43","date_gmt":"2024-04-15T12:48:43","guid":{"rendered":"https:\/\/www.locaweb.com.br\/blog\/?p=48741"},"modified":"2024-09-05T13:53:23","modified_gmt":"2024-09-05T16:53:23","slug":"dom-javascript","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/dom-javascript\/","title":{"rendered":"DOM em JavaScript: o que \u00e9 e como trabalhar"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><em>Entenda o que \u00e9 DOM e como esse recurso est\u00e1 diretamente relacionado com o processo de desenvolvimento de sites.&nbsp;<\/em><\/p>\n\n\n\n<p>A navega\u00e7\u00e3o na web esconde diversos segredos em suas linhas de c\u00f3digos. <strong>Um deles \u00e9 o DOM<\/strong>, que \u00e9 utilizado pelo navegador para representar uma p\u00e1gina.&nbsp;<\/p>\n\n\n\n<p>O DOM \u00e9 uma alternativa mais vi\u00e1vel para pessoas programadoras, j\u00e1 que, com uso do <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-e-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript<\/a>, <strong>\u00e9 poss\u00edvel realizar tarefas de uma maneira mais simples que com HTML ou CSS<\/strong>.&nbsp;<\/p>\n\n\n\n<p>Caso nunca tenha ouvido falar sobre DOM, vamos apresentar o seu conceito, a rela\u00e7\u00e3o com o JavaScript, benef\u00edcios e muito mais. Confira!&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 DOM?<\/strong>&nbsp;<\/h2>\n\n\n\n<p>DOM \u00e9 uma sigla para o termo em ingl\u00eas Document Object Model. Em portugu\u00eas, \u00e9 a defini\u00e7\u00e3o para Modelo de Documento por Objetos.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Ou seja: <strong>uma interface de programa\u00e7\u00e3o utilizada pelos navegadores para representar as p\u00e1ginas que encontramos na rede<\/strong>.&nbsp;<\/p>\n\n\n\n<p>Por padr\u00e3o, o DOM oferece uma representa\u00e7\u00e3o estruturada para documentos HTML, XML e SVG.&nbsp;<\/p>\n\n\n\n<p>Al\u00e9m disso, <strong>ele define m\u00e9todos que v\u00e3o permitir acesso aos dados dispostos em um formato de \u00e1rvore<\/strong> e altera estrutura, estilo e conte\u00fado presentes no documento.&nbsp;<\/p>\n\n\n\n<p>Dessa forma, podemos definir como DOM JavaScript o sistema que permite manipular e modificar elementos de um documento web.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Ele se conecta a diversas linguagens de programa\u00e7\u00e3o, como <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/php\/\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a> e <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/php\/\" target=\"_blank\" rel=\"noreferrer noopener\">PHP<\/a>, para levar essas informa\u00e7\u00f5es \u00e0 p\u00e1gina em quest\u00e3o<s>.<\/s>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-2.jpg\" alt=\"Desenvolvedora utilizando laptop sobreposta por v\u00e1rias linhas de c\u00f3digo\" class=\"wp-image-48752\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-2.jpg 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-2-500x308.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-2-768x473.jpg 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-2-150x92.jpg 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/figure>\n\n\n\n<p><em>Manipular o DOM \u00e9 um recurso bastante utilizado na cria\u00e7\u00e3o de p\u00e1ginas da web.<\/em>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>O que \u00e9 Object Document?<\/strong>&nbsp;<\/h3>\n\n\n\n<p>J\u00e1 o Object Document, ou Documento de Objeto, <strong>\u00e9 a estrutura hier\u00e1rquica que o DOM cria a partir de um documento HTML ou XML<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Ele organiza todos os elementos em uma \u00e1rvore de objetos, onde cada n\u00f3 representa um elemento, atributo ou texto.&nbsp;<\/p>\n\n\n\n<p>Esses objetos podem ser manipulados usando linguagens como JavaScript, entregando os resultados exibidos ao acessar um site.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Outros dados fundamentais sobre o DOM<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Quando se fala sobre DOM tamb\u00e9m \u00e9 importante se atentar aos seguintes dados fundamentais:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Estrutura hier\u00e1rquica<\/strong>: o DOM organiza os elementos do documento de modo que cada um \u00e9 representado como um n\u00f3 na \u00e1rvore;&nbsp;<\/li>\n\n\n\n<li><strong>Acesso e manipula\u00e7\u00e3o<\/strong>: ele permite que os desenvolvedores acessem e manipulem os elementos, atributos e estilos do documento de forma din\u00e2mica;&nbsp;<\/li>\n\n\n\n<li><strong>Independ\u00eancia da plataforma<\/strong>: o DOM \u00e9 independente, o que significa que pode ser acessado e manipulado por diferentes linguagens de programa\u00e7\u00e3o e em diversos navegadores da web;&nbsp;<\/li>\n\n\n\n<li><strong>Atualiza\u00e7\u00e3o din\u00e2mica: <\/strong>uma das principais caracter\u00edsticas do DOM \u00e9 a sua capacidade de atualizar dinamicamente a p\u00e1gina sem a necessidade de recarreg\u00e1-la toda;&nbsp;<\/li>\n\n\n\n<li><strong>\u00c1rvore de objetos<\/strong>: uma representa\u00e7\u00e3o hier\u00e1rquica de todos os elementos de um documento HTML ou XML. Eles s\u00e3o dispostos e organizados conforme a imagem abaixo.&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"486\" height=\"266\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/image-1.png\" alt=\"\" class=\"wp-image-48745\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/image-1.png 486w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/image-1-150x82.png 150w\" sizes=\"(max-width: 486px) 100vw, 486px\" \/><\/figure>\n\n\n\n<p><em>Exemplo da \u00e1rvore de objetos no DOM.<\/em>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como o DOM se relaciona com o JavaScript?<\/strong>&nbsp;<\/h2>\n\n\n\n<p>O JavaScript e o DOM est\u00e3o intimamente relacionados quando se trata de desenvolvimento.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Basicamente, o DOM atua como uma interface que o JavaScript utiliza para interagir com a estrutura e o conte\u00fado de uma p\u00e1gina da web.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Para maior aprofundamento, a seguir est\u00e3o alguns pontos-chave sobre essa rela\u00e7\u00e3o.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Acesso aos elementos<\/strong>&nbsp;<\/h3>\n\n\n\n<p>O JavaScript permite que desenvolvedores acessem e manipulem elementos HTML, atributos e estilos por meio do DOM.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Isso \u00e9 feito selecionando elementos usando m\u00e9todos como getElementById, getElementsByClassName e querySelector, entre outros, e ent\u00e3o os manipulando diretamente ou via os seus atributos e propriedades.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Manipula\u00e7\u00e3o din\u00e2mica<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Uma das principais vantagens do uso do JavaScript com o DOM \u00e9 a <strong>capacidade de realizar manipula\u00e7\u00f5es din\u00e2micas na p\u00e1gina<\/strong>. Isso inclui adicionar, remover ou modificar elementos <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/html-guia-completo-sobre-a-principal-linguagem-da-internet\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML<\/a>, alterar estilos, atributos e conte\u00fado.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Atualiza\u00e7\u00e3o de estado<\/strong>&nbsp;<\/h3>\n\n\n\n<p>O JavaScript \u00e9 usado para atualizar o estado da p\u00e1gina com base em intera\u00e7\u00f5es do usu\u00e1rio. Por exemplo, ao clicar em um bot\u00e3o, <strong>um script pode alterar o conte\u00fado de um elemento na ou modificar classes para mudar o estilo<\/strong>.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Resposta a eventos<\/strong>&nbsp;<\/h3>\n\n\n\n<p>O JavaScript \u00e9 usado para adicionar manipuladores de eventos aos elementos DOM.&nbsp;&nbsp;<\/p>\n\n\n\n<p><strong>Isso permite que as p\u00e1ginas respondam a intera\u00e7\u00f5es do usu\u00e1rio<\/strong>, como cliques de mouse, pressionamentos de teclas e envio de formul\u00e1rios, entre outras.&nbsp;&nbsp;<\/p>\n\n\n\n<p>J\u00e1 os manipuladores de eventos s\u00e3o fun\u00e7\u00f5es JavaScript que s\u00e3o executadas quando um evento espec\u00edfico ocorre em um elemento.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Atualiza\u00e7\u00e3o reativa<\/strong>&nbsp;<\/h3>\n\n\n\n<p>O JavaScript tamb\u00e9m \u00e9 usado para criar interfaces reativas, em que as altera\u00e7\u00f5es no estado da p\u00e1gina causam atualiza\u00e7\u00f5es autom\u00e1ticas na interface do usu\u00e1rio.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Isso \u00e9 frequentemente feito <strong>usando bibliotecas e frameworks JavaScript, como React, Vue.js e Angular<\/strong>,<strong> <\/strong>que manipulam o DOM de forma eficiente para desenvolver interfaces de usu\u00e1rio din\u00e2micas e responsivas.&nbsp;<\/p>\n\n\n\n<p><strong>Leia mais<\/strong>:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-sao-arrays-em-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\">O que s\u00e3o arrays em JavaScript e como cri\u00e1-los?<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/como-usar-javascript-e-php-no-mesmo-projeto\/\" target=\"_blank\" rel=\"noreferrer noopener\">Como usar JavaScript e PHP no mesmo projeto?<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/ate-onde-vai-o-poder-do-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\">At\u00e9 onde vai o poder do JavaScript?<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>O que s\u00e3o eventos?<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Eventos s\u00e3o a\u00e7\u00f5es ou ocorr\u00eancias que acontecem no navegador enquanto o usu\u00e1rio interage com uma p\u00e1gina.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Essas intera\u00e7\u00f5es <strong>podem incluir cliques de mouse, pressionamentos de teclas e envios de formul\u00e1rios, entre outras<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Os eventos permitem que a pessoa desenvolvedora responda a essas a\u00e7\u00f5es do usu\u00e1rio e execute um c\u00f3digo espec\u00edfico em resposta.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Os principais est\u00e3o a seguir.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Eventos de navegador<\/strong>&nbsp;<\/h4>\n\n\n\n<p>Os navegadores web geram uma variedade de eventos em resposta \u00e0s intera\u00e7\u00f5es do usu\u00e1rio e \u00e0 manipula\u00e7\u00e3o da p\u00e1gina.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Dessa forma, podemos incluir nessa rela\u00e7\u00e3o <strong>os cliques e outras intera\u00e7\u00f5es realizadas por uma pessoa<\/strong>.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Manipuladores de eventos<\/strong>&nbsp;<\/h4>\n\n\n\n<p>Um manipulador de eventos \u00e9 uma fun\u00e7\u00e3o JavaScript que \u00e9 executada quando um evento espec\u00edfico ocorre em um elemento HTML.&nbsp;&nbsp;<\/p>\n\n\n\n<p>As pessoas desenvolvedoras podem adicionar manipuladores de eventos aos elementos DOM.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Para isso, \u00e9 preciso usar m\u00e9todos como addEventListener ou atributos de eventos diretamente no HTML.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Propaga\u00e7\u00e3o de eventos<\/strong>&nbsp;<\/h4>\n\n\n\n<p>Quando um evento ocorre, ele geralmente se propaga (ou &#8220;bubles up&#8221;) pelo DOM, atravessando os elementos pais do elemento alvo at\u00e9 chegar ao topo da \u00e1rvore.&nbsp;&nbsp;<\/p>\n\n\n\n<p><em>Isso \u00e9 conhecido como &#8220;propaga\u00e7\u00e3o de eventos&#8221; ou &#8220;<\/em><em>bubbling<\/em><em>&#8220;<\/em><em>. <\/em><em><\/em>&nbsp;<\/p>\n\n\n\n<p>A pessoa desenvolvedora pode controlar se deseja ou n\u00e3o permitir que o evento se propague. Para tanto, basta usar o m\u00e9todo stopPropagation().&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Preven\u00e7\u00e3o de comportamento padr\u00e3o<\/strong>&nbsp;<\/h4>\n\n\n\n<p>Alguns eventos, como cliques de bot\u00e3o em links ou envios de formul\u00e1rios, <strong>t\u00eam comportamentos-padr\u00e3o associados a eles<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<p>O desenvolvedor pode usar o m\u00e9todo preventDefault() para interromper o comportamento padr\u00e3o de um evento, permitindo executar algo personalizado em seu lugar.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Delega\u00e7\u00e3o de eventos<\/strong>&nbsp;<\/h4>\n\n\n\n<p>Em vez de incluir manipuladores de eventos a cada elemento individualmente, as pessoas desenvolvedoras podem usar <strong>a t\u00e9cnica de &#8220;delega\u00e7\u00e3o de eventos&#8221;<\/strong>.<strong>&nbsp;<\/strong>&nbsp;<\/p>\n\n\n\n<p>Com ela, d\u00e1 para adicionar um \u00fanico manipulador de eventos a um elemento pai. Isso \u00e9 \u00fatil para lidar com eventos em elementos din\u00e2micos ou grandes conjuntos de elementos.&nbsp;<\/p>\n\n\n\n<iframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/ZsSKPpUOvO8?si=eE0wZ3syir_PnuI3\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Benef\u00edcios de usar o DOM em JavaScript<\/strong>&nbsp;<\/h3>\n\n\n\n<p>H\u00e1 diversas vantagens em manipular o DOM no JavaScript. Abordaremos algumas das principais nas linhas a seguir.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Interatividade aprimorada<\/strong>&nbsp;<\/h4>\n\n\n\n<p>Manipular o DOM permite que os desenvolvedores criem p\u00e1ginas da web altamente interativas, em que os elementos podem ser modificados para responder \u00e0s a\u00e7\u00f5es do usu\u00e1rio. Isso inclui<strong> atualiza\u00e7\u00f5es de conte\u00fado, anima\u00e7\u00f5es, efeitos visuais e muito mais<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Resposta em tempo real<\/strong>&nbsp;<\/h4>\n\n\n\n<p>Ao usar JavaScript para manipular o DOM, <strong>as mudan\u00e7as na p\u00e1gina podem ser refletidas instantaneamente<\/strong>, sem a necessidade de uma nova solicita\u00e7\u00e3o ao servidor.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Isso cria uma experi\u00eancia mais responsiva para o usu\u00e1rio, pois as atualiza\u00e7\u00f5es s\u00e3o feitas sem interrup\u00e7\u00f5es.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Compatibilidade cruzada<\/strong>&nbsp;<\/h4>\n\n\n\n<p>O DOM \u00e9 suportado pelos principais navegadores, o que significa que as aplica\u00e7\u00f5es web constru\u00eddas com JavaScript podem ser executadas em uma ampla variedade de plataformas e dispositivos.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Facilidade de teste e depura\u00e7\u00e3o<\/strong>&nbsp;<\/h4>\n\n\n\n<p>Al\u00e9m disso, manipular o DOM com JavaScript facilita o teste e a depura\u00e7\u00e3o de aplica\u00e7\u00f5es web, pois as manipula\u00e7\u00f5es de elementos podem ser inspecionadas e testadas diretamente no navegador.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como usar o DOM em JavaScript?<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Para usar o DOM em JavaScript, voc\u00ea pode come\u00e7ar selecionando elementos HTML <strong>utilizando m\u00e9todos como document.getElementById(), document.getElementsByClassName() e document.querySelector()<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Ap\u00f3s selecionar um elemento, \u00e9 poss\u00edvel manipul\u00e1-lo alterando o seu conte\u00fado ou atributos usando propriedades como <strong>innerHTML, style, setAttribute()<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Al\u00e9m disso, voc\u00ea pode adicionar ou remover elementos utilizando m\u00e9todos como <strong>appendChild(), removeChild() e createElement()<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<p>J\u00e1 para lidar com eventos, \u00e9 poss\u00edvel usar m\u00e9todos como <strong>addEventListener() <\/strong>para registrar fun\u00e7\u00f5es que ser\u00e3o executadas quando o evento ocorrer.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-3.jpg\" alt=\"Desenvolvedora escrevendo c\u00f3digo em computador com m\u00faltiplas telas\" class=\"wp-image-48753\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-3.jpg 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-3-500x308.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-3-768x473.jpg 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2024\/04\/dom-javascript-3-150x92.jpg 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/figure>\n\n\n\n<p><em>DOM apresenta v\u00e1rias op\u00e7\u00f5es de uso em conjunto com o JavaScript.<\/em>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Exemplos de uso do DOM no JavaScript<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Agora que voc\u00ea j\u00e1 sabe mais sobre como manipular o DOM usando JavaScript, observe abaixo quatro exemplos de como ele pode ser utilizado em seus projetos.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exemplo 1: manipula\u00e7\u00e3o de conte\u00fado<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Neste exemplo, o conte\u00fado do elemento &lt;div&gt; com o id &#8220;content&#8221; \u00e9 alterado para &#8220;Hello, DOM!&#8221; usando JavaScript.&nbsp;<\/p>\n\n\n\n<p><em>htmlCopy code&lt;!DOCTYPE html&gt;<\/em>&nbsp;<br><em>&lt;html lang=&#8221;en&#8221;&gt;<\/em>&nbsp;<br><em>&lt;head&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;meta charset=&#8221;UTF-8&#8243;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0&#8243;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;title&gt;DOM Example&lt;\/title&gt;<\/em>&nbsp;<br><em>&lt;\/head&gt;<\/em>&nbsp;<br><em>&lt;body&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;div id=&#8221;content&#8221;&gt;Hello, World!&lt;\/div&gt;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;script&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Seleciona o elemento com id &#8220;content&#8221; e altera seu conte\u00fado<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(&#8220;content&#8221;).innerHTML = &#8220;Hello, DOM!&#8221;;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;\/script&gt;<\/em>&nbsp;<br><em>&lt;\/body&gt;<\/em>&nbsp;<br><em>&lt;\/html&gt;<\/em>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exemplo 2: manipula\u00e7\u00e3o de estilos<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Neste exemplo, ao clicar no bot\u00e3o &#8220;Highlight&#8221;, a classe CSS &#8220;highlight&#8221; \u00e9 adicionada ao elemento &lt;div&gt; com o id &#8220;content&#8221;, alterando o seu estilo.&nbsp;<\/p>\n\n\n\n<p><em>htmlCopy code&lt;!DOCTYPE html&gt;<\/em>&nbsp;<br><em>&lt;html lang=&#8221;en&#8221;&gt;<\/em>&nbsp;<br><em>&lt;head&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;meta charset=&#8221;UTF-8&#8243;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0&#8243;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;title&gt;DOM Example&lt;\/title&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;style&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .highlight {<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color: yellow;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;\/style&gt;<\/em>&nbsp;<br><em>&lt;\/head&gt;<\/em>&nbsp;<br><em>&lt;body&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;div id=&#8221;content&#8221;&gt;Hello, World!&lt;\/div&gt;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;button onclick=&#8221;highlight()&#8221;&gt;Highlight&lt;\/button&gt;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;script&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function highlight() {<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Seleciona o elemento com id &#8220;content&#8221; e adiciona a classe &#8220;highlight&#8221;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(&#8220;content&#8221;).classList.add(&#8220;highlight&#8221;);<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;\/script&gt;<\/em>&nbsp;<br><em>&lt;\/body&gt;<\/em>&nbsp;<br><em>&lt;\/html&gt;<\/em>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exemplo 3: adicionar e remover elementos dinamicamente<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Neste exemplo, dois bot\u00f5es s\u00e3o fornecidos para adicionar e remover itens de uma lista &lt;ul&gt; dinamicamente.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Quando o bot\u00e3o &#8220;Add Item&#8221; \u00e9 clicado, <strong>um novo item \u00e9 adicionado \u00e0 lista.<\/strong> J\u00e1 ao interagir com o bot\u00e3o &#8220;Remove Item&#8221;, <strong>o \u00faltimo item \u00e9 removido<\/strong>.&nbsp;<\/p>\n\n\n\n<p><em>htmlCopy code&lt;!DOCTYPE html&gt;<\/em>&nbsp;<br><em>&lt;html lang=&#8221;en&#8221;&gt;<\/em>&nbsp;<br><em>&lt;head&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;meta charset=&#8221;UTF-8&#8243;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0&#8243;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;title&gt;DOM Example&lt;\/title&gt;<\/em>&nbsp;<br><em>&lt;\/head&gt;<\/em>&nbsp;<br><em>&lt;body&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;ul id=&#8221;list&#8221;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;Item 1&lt;\/li&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;Item 2&lt;\/li&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;\/ul&gt;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;button onclick=&#8221;addItem()&#8221;&gt;Add Item&lt;\/button&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;button onclick=&#8221;removeItem()&#8221;&gt;Remove Item&lt;\/button&gt;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;script&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function addItem() {<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Cria um novo elemento &lt;li&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var newItem = document.createElement(&#8220;li&#8221;);<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newItem.textContent = &#8220;Novo Item&#8221;;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Adiciona o novo elemento \u00e0 lista<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(&#8220;list&#8221;).appendChild(newItem);<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function removeItem() {<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Seleciona o \u00faltimo elemento da lista<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var list = document.getElementById(&#8220;list&#8221;);<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var lastItem = list.lastElementChild;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Remove o \u00faltimo elemento da lista<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.removeChild(lastItem);<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;\/script&gt;<\/em>&nbsp;<br><em>&lt;\/body&gt;<\/em>&nbsp;<br><em>&lt;\/html&gt;<\/em>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exemplo 4: manipula\u00e7\u00e3o de atributos<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Neste exemplo, um bot\u00e3o \u00e9 fornecido para alterar dinamicamente a imagem exibida na p\u00e1gina.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Quando o bot\u00e3o &#8220;Change Image&#8221; \u00e9 clicado, <strong>o atributo src da imagem \u00e9 modificado para apontar para uma nova imagem<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Al\u00e9m disso,<strong> o atributo alt \u00e9 atualizado<\/strong>.&nbsp;<\/p>\n\n\n\n<p><em>htmlCopy code&lt;!DOCTYPE html&gt;<\/em>&nbsp;<br><em>&lt;html lang=&#8221;en&#8221;&gt;<\/em>&nbsp;<br><em>&lt;head&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;meta charset=&#8221;UTF-8&#8243;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0&#8243;&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;title&gt;DOM Example&lt;\/title&gt;<\/em>&nbsp;<br><em>&lt;\/head&gt;<\/em>&nbsp;<br><em>&lt;body&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;img id=&#8221;image&#8221; src=&#8221;placeholder.jpg&#8221; alt=&#8221;Placeholder Image&#8221;&gt;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;button onclick=&#8221;changeImage()&#8221;&gt;Change Image&lt;\/button&gt;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;script&gt;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function changeImage() {<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Seleciona a imagem pelo id<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var image = document.getElementById(&#8220;image&#8221;);<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Altera o atributo src da imagem<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; image.src = &#8220;newimage.jpg&#8221;;<\/em>&nbsp;<br>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ Altera o atributo alt da imagem<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; image.alt = &#8220;New Image&#8221;;<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/em>&nbsp;<br><em>&nbsp;&nbsp;&nbsp; &lt;\/script&gt;<\/em>&nbsp;<br><em>&lt;\/body&gt;<\/em>&nbsp;<br><em>&lt;\/html&gt;<\/em>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Cria\u00e7\u00e3o de sites<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Manipular o DOM em JavaScript est\u00e1 diretamente ligado a <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/primeiros-passos\/como-criar-um-site\/\">como criar um site<\/a> e <a href=\"https:\/\/www.locaweb.com.br\/registro-de-dominio-web\/\" target=\"_blank\" rel=\"noreferrer noopener\">dom\u00ednio<\/a>.\u00a0\u00a0<\/p>\n\n\n\n<p>Ele tamb\u00e9m pode se unir ao <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-e-docker-e-por-que-usar\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker<\/a> e ao <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/dns\/\">DNS<\/a>, j\u00e1 que s\u00e3o essenciais para a implanta\u00e7\u00e3o e o acesso eficiente a aplica\u00e7\u00f5es web em ambientes de desenvolvimento e produ\u00e7\u00e3o.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Se ap\u00f3s ler sobre este assunto voc\u00ea ficou interessado em criar um site, conte com os servi\u00e7os de <a href=\"https:\/\/www.locaweb.com.br\/hospedagem-de-sites-com-dominio-gratis\/\" target=\"_blank\" rel=\"noreferrer noopener\">web hosting<\/a> da Locaweb para tirar os seus planos do papel!&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Entenda o que \u00e9 DOM e como esse recurso est\u00e1 diretamente relacionado com o processo de desenvolvimento de sites.&nbsp; A navega\u00e7\u00e3o na web esconde diversos segredos em suas linhas de c\u00f3digos. Um deles \u00e9 o DOM, que \u00e9 utilizado pelo navegador para representar uma p\u00e1gina.&nbsp; O DOM \u00e9 uma alternativa mais vi\u00e1vel para pessoas programadoras, [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":48750,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-48741","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/48741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=48741"}],"version-history":[{"count":8,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/48741\/revisions"}],"predecessor-version":[{"id":50497,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/48741\/revisions\/50497"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/48750"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=48741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=48741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=48741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}