Ebook T04 U03js
Ebook T04 U03js
DOM E FORMULÁRIOS
Unidade 03
Become a Fullturist
DOM e Formulários | Unidadade 03 2
Sumário
03 Apresentação
04 Introdução
04 Objetivos de Aprendizagem
06 3.1 DOM - 053.2 Selecionando Elementos no DOM
06 3.2.1 Método getElementById(<id do elemento>)
07 3.2.2 Método getElementsByClassName(<nome da classe>)
07 3.2.3 Método getElementsByTagName(<nome da tag>)
08 3.2.4 Método querySelector(<seletor>)
09 3.2.5 Método querySelectorAll(<seletor>)
16 3.3 Manipulando e adicionando elementos no DOM
21 3.4 Formulários e o Objeto FORM
25 Síntese
26 Fullture Insights
DOM e Formulários | Unidadade 03 3
Olá,
Fullturist,
Seja bem-vindo(a)!
Unidade 03
DOM e Formulários
Olá, Fullturist!
Objetivos de aprendizagem
Entender como funciona o DOM, compreendendo que uma página HTML é um conjunto de
nós que pode ser consultado e manipulado quando estiver sendo visualizado pelo usuário.
Utilizar JavaScript para adicionar interação a elementos no lado do navegador, sem precisar
consultar serviços de Backend.
3.1 DOM
Quando você está desenvolvendo um documento HTML, acaba utilizando várias tags
para marcar os conteúdos que deverão ser apresentados no browser. No entanto,
como o browser interpreta o documento HTML e exibe os conteúdos de forma
correta? Você se lembra?
Para saber mais sobre o DOM e conhecer todos os métodos disponíveis por esse objeto,
clique aqui e visite o endereço na documentação MDN Web Docs.
O objeto DOM possui vários métodos e, aqui, iremos aprender os principais e aqueles
que são mais utilizados pelos desenvolvedores profissionais para realizar o acesso e a
manipulação dos elementos HTML. Vamos conhecer?
Diante disso, volta para um objeto chamado de NodeList, que é um array com
os elementos, e cada elemento pode ser acessado pelo seu índice. Se não existir
nenhum elemento utilizando a classe passada como argumento, o método retornará
null. Veja um exemplo simples:
No exemplo anterior, na linha 1 está sendo selecionado um botão cujo id é reset; já,
na linha 2, um elemento pelo nome da tag, nesse caso, o parágrafo (p); e, na linha 3,
o elemento está sendo escolhido pela classe image. Evidencia-se que o método irá
retornar o primeiro elemento que corresponda ao seletor passado como argumento,
ou seja, se existir mais de um parágrafo no documento HTML, o código da linha 2
retorna apenas o primeiro. Se for necessário selecionar mais elementos, é possível
utilizar o método getSelectorAll().
DOM e Formulários | Unidadade 03 9
Aposto que está ansioso(a) para ver um exemplo prático e colocar a mão na massa,
certo? Então, vamos lá!
Para conhecer mais sobre os métodos abordados até aqui e outros métodos, clique aqui e
poderá conhecer outros exemplos interessantes, vale a pena dar uma olhadinha!
DOM e Formulários | Unidadade 03 10
No exemplo a seguir, criaremos uma página onde serão exibidos alguns cursos
oferecidos pela Fullture. Um ponto importante é que nos modelos o foco é o
JavaScript e não o design e estilo da página, portanto, não se incomode com a
aparência e estética, ok?
<!DOCTYPE html>
<html lang=”pt-br”>
<head>
<title>Testando os métodos de acesso ao DOM</title>
<meta charset=”utf-8” />
</head>
<body>
<header>
<div id=”logo”>
<img src=”https://www.fullture.com/wp-content/uploads/2020/07/
Simbolo-Square-1.svg” />
</div>
<nav class=”primary-nav”>
<ul>
<li class=”menu-item”><a href=”#”>Home</a></li>
<li class=”menu-item”><a href=”#”>FullturePro</a></li>
<li class=”menu-item”><a href=”#”>FulltureFalst</a></li>
<li class=”menu-item”><a href=”#”>Sobre nós</a></li>
</ul>
</nav>
</header>
<main>
<h1>Bem vindo à Fullture! Torne sua Carreira à Prova de Futuro!</h1>
<div class=”container”>
<section class=”section-a”>
DOM e Formulários | Unidadade 03 11
Para que consiga entender com mais facilidade o código anterior, veja na imagem
que segue o resultado produzido depois de implementar e testar o JavaScript.
DOM e Formulários | Unidadade 03 13
A partir disso, vamos entender o código JavaScript com base na análise da imagem
com o resultado apresentado no navegador. Mas antes, se você está com dúvida
em como abrir o console no navegador, siga os seguintes passos: se estiver
utilizando o Google Chrome, acesse o menu -> mais ferramentas -> ferramentas do
desenvolvedor, conforme a imagem a seguir.
Para finalizar a análise desse exemplo, nas linhas 9 e 12, estamos acessando
elementos HTML através dos seus ids. A diferença é que na linha 9 o elemento
DIV com o id logo está sendo acessado através do método querySelector(“#logo”),
enquanto que, na linha 12, o elemento button é acessado pelo método
getElementById(“button1”).
Diante disso, fique atento(a) e continue estudando o conteúdo, pois mais a frente você
encontrará um comparativo entre os dois métodos.
paragrafo.style.color = ‘red’;
const titulos = document.querySelectorAll(“h2”);
titulos.forEach( function(element){
element.style.color = ‘blue’;
});
const links = document.querySelectorAll(“.primary-nav .menu-item a”);
links.forEach( function(element){
element.href=”https://www.fullture.com/”;
});
const a = document.createElement(‘a’);
a.href = ‘https://www.fullture.com/’;
a.innerHTML = ‘Contato’;
li.appendChild(a);
const ul = document.querySelector(‘ul’);
ul.appendChild(li);
});
Para entender 100% da lógica do código JavaScript acima, com a ajuda da figura a
seguir, vamos analisar a estrutura do código HTML referente ao menu.
quinto, para finalizar, adicionar o novo elemento <li> como nó filho do elemento
<ul>.
Agora que você já entendeu a organização da estrutura HTML do menu, vamos ver
como funciona o código JavaScript.
Na linha 38, criamos o elemento de link <a>. Feito isso, na linha 39, o endereço para
onde o link aponta é configurado através da propriedade href e, na linha 40, o texto
do link é configurado utilizando o atributo innerHTML do DOM (acessado através do
objeto document), que irá inserir o texto “Contato” entre a abertura e fechamento da
tag (nesse caso, entre <a> e </a>). Nesse momento, estamos com o elemento link
<a> criado e o elemento <li> também criado, então, na linha 42, adicionamos o
elemento a como elemento filho do elemento li, utilizando o método appendChild().
Existem mais métodos interessantes e que um dia será muito útil para você. Então, não deixe
de conhecê-los! Você pode saber mais sobre esses os métodos, acessando os sites
JavaScript Tutorial e MDN Web Docs.
O DOM sempre será utilizado quando precisar atualizar uma página ou construir
uma interface, uma página com interatividade avançada. Do mesmo modo, será
aplicado quando estiver desenvolvendo com Ajax, mas esse é um assunto para outra
discussão.
Através do objeto document, você manipulará o DOM e poderá mover itens dentro de
uma página, adicionar novos itens e criar efeitos CSS dinamicamente sem precisar
recarregar a página, manipular formulários e muitas outras coisas interessantes.
Falando em formulários, eles são elementos especiais e podem ser trabalhados e
manipulados de uma forma diferente do que vimos até agora, além de possuírem
eventos bem específicos. Vamos dar uma olhada e aprender muita coisa interessante
sobre esse assunto? Então, vamos em frente!
DOM e Formulários | Unidadade 03 21
Nesse momento, o foco é para que você aprenda sobre o objeto Form contido na
estrutura DOM e como manipular esses formulários de forma dinâmica.
Para relembrar, os formulários são uns dos principais recursos que utilizamos
para prover a interatividade com os usuários dos nossos sites e aplicativos
web. Todo sistema web possui uma série de formulários que permitem que os
usuários informem dados, que, geralmente, são enviados a um servidor web para
processamento e armazenamento ou são utilizados para atualizar imediatamente, de
forma dinâmica, a página, como, por exemplo, adicionar outro item em uma lista.
Vamos começar a estudar o objeto form da melhor maneira, direto com um exemplo
prático e colocando a mão na massa.
EXEMPLO
Como exemplo, será criado um formulário para coletar informações sobre o peso e a altura dos
usuários. Além disso, vamos pedir para que o usuário também informe o seu nome e sobrenome.
A ideia é que, quando o usuário informar essas informações no formulário, ao invés de enviar a um
servidor, esses dados serão armazenados em um objeto literal Javascript (Opa! Olha coisa nova
surgindo :D ) e esse objeto armazenado em um array. Depois do objeto criado e adicionado ao
array, vamos exibir este objeto em uma DIV resultado. Para isso, vamos começar a implementar o
código HTML. Abra o VSCode e crie um novo arquivo chamado formulario.html e coloque o código
abaixo. Lembre-se que aqui não estamos nos importando com a aparência do HTML.
DOM e Formulários | Unidadade 03 22
<!DOCTYPE html>
<html lang=”pt-br”>
<head>
<meta charset=”UTF-8”>
<title>Exemplo de Utilização do Objeto Form</title>
</head>
<body>
<form method=”get” action=”#” id=”form”>
<p>
Nome: <input type=”text” id=”nome” />
</p>
<p>
Sobrenome: <input type=”text” id=”sobrenome”/>
</p>
<p>
Peso: <input type=”text” id=”peso”/>
</p>
<p>
Altura: <input type=”text” id=”altura”/>
</p>
<p>
<button>Cadastrar</button>
</p>
</form>
<div class=’resultado’></div>
<script src=”formulario.js”></script>
</body>
</html>
Esse é um bom exercício para você implementar um CSS e tornar a página do HTML
anterior mais bonita e interessante. Feito isso, vamos ao código JavaScript, que vai
manipular o objeto form e executar a criação de objetos com os dados e inserir esses
objetos em um array. Assim, crie no VSCode um novo arquivo chamado formulario.js
e implemente o código abaixo.
Para começar, o nosso código está criando um array, que armazena na constante
pessoas, como pode ser visto na linha 1. Será nesse array que iremos armazenar
todos os objetos criados com os dados das pessoas coletados no formulário.
Dessa forma, entre as linhas 11 e 14, os elementos inputs estão utilizando o objeto
form e não o objeto object do DOM. Nesse ínterim, você deve estar se perguntando,
qual a vantagem disso? Essa dúvida é fácil de responder: a performance!
A partir de agora, você é capaz de criar scripts que podem fazer coisas fantásticas
e de forma dinâmica. Na próxima Unidade, vamos evoluir no aprendizado sobre a
utilização de APIs HTML5, que permitirá armazenar dados nos computadores dos
usuários. Até lá!
DOM e Formulários | Unidadade 03 25
Síntese
Nesta Unidade, você conheceu o DOM e o Objeto Form e aprendeu a manipulá-lo com
os seus principais métodos. Vamos a um resumo rápido dos pontos mais importantes
desse estudo:
• Aprendeu que uma página HTML é um conjunto de nós que podem ser consultados
e manipulados através da estrutura DOM.
• Compreendeu que, com o DOM, pode criar aplicações que atualizam os dados e
elementos da página de forma dinâmica.
• Observou que, por meio do DOM, é possível adicionar, alterar e remover elementos
na página, o que possibilita desenvolver uma interatividade fantástica ao usuário.
Fullture Insights
• MALDONADO, Leonardo. Entendendo o DOM (Document Object Model). Tableless,
[S.l.], 8 fev. 2018. Disponível em: https://tableless.com.br/entendendo-o-dom-
document-object-model/. Acesso em: 6 set. 2021.
• MDN Web Docs. Documentação sobre Javascript. [S.l]: MDN Web Docs, 2021.
Disponível em: https://developer.mozilla.org/pt-BR/docs/Learn/JavaScript/Building_
blocks/Events. Acesso em: 25 ago. 2021.
www.fullture.com