Aprenda manipulação de DOM em JavaScript em 1 hora - como criar botões e muito mais! | Taylor English | Skillshare
Menu
Pesquisar

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Aprenda manipulação de DOM em JavaScript em 1 hora - como criar botões e muito mais!

teacher avatar Taylor English, Learning doesn't need to be hard :)

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Apresentação

      2:55

    • 2.

      Como configurar seu ambiente

      5:28

    • 3.

      Selecionando elementos

      14:13

    • 4.

      Como criar elementos

      10:33

    • 5.

      Elementos manipuladores (especialmente com CSS)

      15:30

    • 6.

      Como criar botões interativos

      13:03

    • 7.

      Projeto/conclusão

      2:59

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

155

Estudantes

1

Projeto

Sobre este curso

Bem-vindo ao meu curso de manipulação de DOM para iniciantes! DOM significa Modelo de Objeto de Documento e é essencialmente o HTML para um site. Neste curso, vamos falar sobre como manipular HTML e CSS programaticamente usando JavaScript Vanilla (simples).

Meu nome é Taylor English e sou estudante universitário estudando ciência da computação. Eu faço desenvolvimento de web há 2 anos e adoro desenvolvimento de frontend.

Vou cobrir os seguintes tópicos neste curso:

  • Como configurar seu ambiente
  • Como selecionar elementos
  • Como criar elementos
  • Elementos manipuladores (especialmente com CSS)
  • Como criar botões interativos
  • PROJETO

Para fazer este curso, você deve ter uma compreensão básica de HTML, CSS e JavaScript.

Você também precisará de um editor de código como Visual Studio Code.

Encontre vídeos gratuitos como este no meu canal: cplushacker

Clique aqui para assistir ao meu curso Skillshare no Angular para iniciantes!

Conheça seu professor

Teacher Profile Image

Taylor English

Learning doesn't need to be hard :)

Professor
Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Olá e seja bem-vindo a este curso sobre manipulação do DOM. Meu nome é Taylor English. Serei seu instrutor para o curso, e estou muito animado com isso. Eu fiz este curso para que você possa entender facilmente a manipulação do DOM para que você possa se divertir mudando CSS, fazendo botões, fazendo coisas, criando elementos programaticamente. É para isso que serve este curso. E eu facilitei a compreensão para iniciantes. E pessoas experientes vão gostar, tenho certeza de que você vai gostar. Agora eu quero rever o que vamos falar. Mas antes de fazer isso, quero contar a vocês sobre onde encontrar mais vídeos como esse. Em outras aulas, você pode assistir a vídeos gratuitos no computador, dicas e truques e resolver problemas, bem como alguma programação no meu canal do YouTube, que é youtube.com slash C plus hacker, tudo explicitado. Há muitos tutoriais ótimos lá. Eu tenho uma aula de Skillshare que você pode assistir chamada angular 11 para iniciantes, que na verdade também é aplicável ao Angular 12, eu acredito. Mas trata-se de aprender componentes, serviços de roteamento, todas essas coisas excelentes. Eu acho que você pode realmente gostar se você curtir este curso. E você pode descobrir que neste link, vou tentar colocar isso na descrição desta aula, neste vídeo. Isso é só um pouco sobre mim. Sou um estudante universitário que estuda ciência da computação. Talvez haja alguma credibilidade para você, mas honestamente, eu adoro ensinar isso e é por isso que quero compartilhá-lo. Então, esta aula, o que vamos passar por cima são cinco coisas básicas. Primeiro, vou mostrar como configurar seus arquivos. Isso não faz parte da manipulação do DOM, mas inclui alguns aspectos importantes, como vincular seus arquivos corretamente para seu JavaScript e CSS. Em seguida, vamos, vamos saltar para selecionar elementos, pegar o HTML, e para que possamos fazer as coisas com ele, salvando-o em variáveis. Então falarei sobre a criação de elementos programaticamente para que você possa criá-los e anexá-los a determinadas partes da página via JavaScript. Em seguida, vamos manipular elementos com CSS e coisas assim. Assim, você pode alterar a cor da sua página. Você pode fazer todos os tipos de coisas por meio do JavaScript. E, finalmente, falaremos sobre botões e como você pode clicar em um botão e executar funções se as instruções loops. Vamos entrar em alguns detalhes sobre essas coisas. Então, espero que vocês gostem disso. Vai ser muito divertido. E te vejo no próximo vídeo. 2. Configurando seu ambiente: Tudo bem, é hora de começar com nossa primeira lição. Então, antes de realmente mergulharmos na manipulação do DOM, vamos começar configurando nossos arquivos, HTML simples, JavaScript e arquivos CSS. Então, vamos seguir em frente e fazer isso. Você vai querer criar uma pasta onde você possa trabalhar neste projeto. Eu chamei a minha manipulação DOM. Você pode chamar o seu o que quiser. Vou trabalhar no VS Code, o que eu recomendo. Vamos criar um arquivo e chamaremos isso de index.html. Agora, vamos começar. Vamos salvar isso. Crie nossas tags HTML. Dentro disso, queremos nossa tag de cabeça e, dentro disso, queremos nossa tag de título. Só vou dizer relação Dom. Agora, abaixo da etiqueta da cabeça, você vai querer colocar uma tag corporal. Não foi isso que eu quis dizer. Certo. Dentro da tag body, podemos apenas dizer, vamos colocar uma tag de parágrafo e dizer olá mundo. Agora vamos criar um arquivo JavaScript e CSS que começaremos a usar nos próximos vídeos. Vamos chamar isso de app.js. Para garantir que este esteja funcionando. Vou fazer console.log. Olá, mundo. Mais uma vez. Agora, para vincular isso abaixo da tag body, vamos colocar uma tag de origem de script, e vamos colocar app.js. Agora isso é importante porque queremos que o JavaScript seja executado após o restante do HTML já ter sido estabelecido. Ele vai atrás da tag do corpo. A sintaxe para isso é script e, em seguida, a fonte é igual e, em seguida, o nome do seu arquivo JavaScript. Mais uma vez, você pode chamar o seu o que quiser. Agora vamos fazer nosso CSS. Vou ligar para isso style.css para garantir que isso esteja funcionando. Faça o corpo e faremos uma cor de fundo verde. Agora nós vinculamos a folha de estilos, o style.css aqui na tag head. Vamos criar uma tag de link. E você pode ir até CSS aqui se você tiver a abreviação do Emmett. Mas tudo o que vai fazer é dizer que ele diz ao código que é uma folha de estilos e dar o link para o style.css. Portanto, essa é nossa sintaxe básica. Isso é tudo o que realmente precisamos para começar. Site muito simples. Vamos em frente e isso. Agora, nesta classe, vou usar uma extensão VS Code para testar isso. E vou te mostrar o que é e como obtê-lo. Vamos ver. Essa extensão é chamada de Live Server. Se você for para a guia Extensões aqui no código VS, basta pesquisar. servidor ativo deve ser uma das primeiras coisas que aparece. Você só vai querer instalar isso. Agora, o que isso vai fazer é quando entrarmos em nosso arquivo HTML, podemos clicar com o botão direito do mouse e dizer Abrir com o servidor ativo. Também podemos parar o servidor aqui. E também deve haver um botão aqui que diz Go Live. Esse botão nem sempre aparece. Então, eu normalmente confio neste menu com o botão direito do mouse. Se abrirmos com um servidor ao vivo aqui, então é isso que obtemos. Nós obtemos nosso Hello World verde para que saibamos que a folha de estilos está conectada e configurada corretamente. O HTML é bom. Diz Hello World. Se pressionarmos Control Shift I no Windows, isso abrirá nosso console e diz Hello World. Mais uma vez. Sabemos que tudo está funcionando corretamente ou o JavaScript está conectado corretamente. Tudo está funcionando nessa frente e você não precisa se preocupar com essa mensagem de erro. Não é super relevante para o que estamos tentando trabalhar agora. Mas essa é a configuração básica. Apenas uma recapitulação rápida. Você quer três arquivos, index.html, app.js e style.css. E lembre-se, app.js está vinculado em uma tag de script abaixo da tag body, mas ainda dentro do HTML. E a folha de estilo está dentro de uma tag de link na cabeça. Certo? Tudo bem, te vejo no próximo. 3. Selecionando elementos: Tudo bem, agora vamos falar sobre a seleção de elementos. Dentro da manipulação do DOM. É muito importante que o código saiba como obter os vários elementos HTML e fazer coisas com eles. Vamos começar acessando nosso arquivo app.js. Podemos remover esta instrução de log aqui. Agora, atualmente em nosso site, temos nosso Hello World. Bem aqui. Digamos que queremos selecionar helloworld para que possamos manipulá-lo ou fazer algo com ele. Agora, agora, hello world é apenas uma tag de parágrafo. Ele não tem nenhuma classe ou IDs. Vou mostrar a você como selecioná-lo assim, mas também como selecioná-lo com uma classe ou um ID. Agora, para selecioná-lo assim, na verdade, vou começar usando um ID ou uma classe. Vamos começar com um ID dentro do nosso ID de tipo de tag de parágrafo, e vamos dar a ele o nome olá. Agora vamos para app.js. E queremos fazer é armazenar a tag de parágrafo dentro de uma variável para que possamos fazer as coisas com ela. Vamos dizer, digamos parágrafo igual. Agora vamos digitar documento. Documento é como você acessa o modelo de objeto do documento. Isso é o que estamos usando. Quase todos esses comandos, se não todos eles, começam com o documento. Dizemos ponto do documento, obtemos elemento por ID e certificamos de que o D em ID é minúsculo. Agora o VS Code é realmente ótimo e deve sugerir essas coisas para você. Caso contrário, verifique o armazenamento de extensões para encontrar uma extensão JavaScript gratuita para realce de sintaxe. Dissemos obter elemento por ID. O ID disso é olá. Colocamos parênteses e, em aspas simples, diremos olá. Agora, o que podemos fazer é fazer um console.log no elemento de parágrafo. E isso nos mostrará o que realmente selecionamos para que possamos ver o que estamos fazendo. Se o salvarmos. Esqueci de mencionar no último vídeo, toda vez que salvamos alterações nesses arquivos, o servidor, o servidor ativo atualizará automaticamente a página para que você não precise. Se entrarmos aqui, ainda diz Hello world. Então pressione Control Shift. Acredito que seja o Command Shift I no Mac. Caso contrário, basta procurar o que é esse comando, você verá que ele registrou esse elemento. Então, se olharmos para trás para o código, dissemos que o parágrafo é igual a Document.getElementById. Então, o que fizemos foi retirar efetivamente o elemento do HTML e o definimos igual a essa variável. Agora vamos explorar isso um pouco e deixe-me mostrar algumas das propriedades que isso tem. Se formos ao parágrafo aqui e pressionarmos ponto, isso vai sugerir todos os tipos de coisas. Há todos os tipos de atributos que podemos acessar a partir disso. Digamos, por exemplo, que queremos acessar o texto dentro. Podemos dizer TextContent. E agora estamos registrando o conteúdo do texto, que é o HelloWorld. Agora, há uma série de coisas que você pode acessar a partir daqui e entraremos mais nisso mais tarde, quando manipularmos estilos e tornarmos os botões interativos nesse tipo de coisa. Mas, por enquanto, é assim que selecionamos um elemento. Então, digamos que ele tem uma aula. Faremos a mesma coisa com olá, mas isso será uma aula. Em vez de dizer get element by ID, queremos usar obter elementos por nome da classe. Agora, a aula que colocamos aqui é olá. Vamos ver o que acontece quando registramos isso. Você pode ver isso trouxe algo chamado coleção HTML. E se abrirmos isso, é uma matriz. O primeiro elemento no índice 0 é uma tag de parágrafo com uma classe de saudação. E se quiséssemos apenas o elemento? Como selecionamos isso? Bem, a coisa sobre classes é que vários objetos podem ter uma classe. Então, se você selecionar os elementos por nome da classe, ele receberá uma matriz de cada elemento que tenha esse nome de classe, mesmo que haja apenas um. Agora, as IDs são diferentes porque você só deve colocar um ID em um elemento. Então, quando você diz obter elemento por ID, ele o dará diretamente porque deve haver apenas um elemento com esse ID. Se quisermos acessar o elemento específico, sabemos que dentro do código é o primeiro, é o primeiro lugar onde vemos essa classe de saudação. Então, logo após isso, podemos colocar colchetes para acessar o 0º índice. E isso acessará esse primeiro elemento, que será a tag que queremos. Se salvarmos isso e voltarmos aqui, você pode ver que selecionamos esse elemento inteiro. Agora podemos fazer a mesma coisa se sem usar classe ou ID. Digamos, por exemplo, apenas queremos selecionar todas as tags de parágrafo. Eu posso fazer é vir aqui e dizer documento ponto obter elemento por nome da tag. Lembre-se que as tags são essas coisas aqui dentro das cenouras ou o que você chama essas coisas. Podemos obter todas as tags de parágrafo dizendo GetElementsByTagName p para parágrafo, certifique-se de que esteja entre aspas. O que isso nos mostra? Novamente, isso nos mostra uma coleção HTML porque podemos ter vários elementos, várias tags de parágrafo. Vamos ver o que ele está nos mostrando aqui. No índice de largura 0, temos nossa tag de parágrafo. No primeiro índice. Tem algo também. Vou ter que verificar e ver por que isso é. Certo. Então, fiz uma pausa por um segundo e descobri qual era o problema. O problema era que, em nosso HTML, eu tinha que abrir tags para a tag de parágrafo em vez de ter a barra aqui para fechá-la. Opa, pensava que havia duas tags P separadas. Consertei isso. E se chegarmos ao app.js, podemos ver que diz GetElementsByTagName, estamos recebendo o p. Então, se viermos aqui e olharmos no Chrome aqui, você pode ver que é uma matriz com apenas um elemento. Agora, novamente, fazemos a mesma coisa. Podemos fazer a mesma coisa que fizemos com as classes onde podemos selecionar o índice zeroeth e ver a tag exata. Aprendemos a selecionar elementos por tag, nome, ID e por classe. O que vem a seguir? Bem, digamos que você queira selecionar um elemento com base em vários atributos e não apenas em sua tag, sua classe ou seu ID. É aí que entra o seletor de consultas. Digamos que tenhamos essa tag de parágrafo Hello World aqui. Vamos dar uma aula de olá. Então teremos outra tag de parágrafo que também tem uma classe de olá, mas também tem um ID de, digamos panquecas. Podemos dizer algo aqui. Panquecas são incríveis. Se produzirmos, vamos ver se obtemos elementos por nome de tag e produzimos isso. Vamos ver o que, o que vem à tona. Ok, então nós temos isso, esse array. Mais uma vez, há dois elementos. Agora, mesmo que digamos obter elementos por ClassName, dizemos olá. Ele vai retornar dois objetos. Assim, podemos especificar um pouco mais o que estamos querendo. Se eu quiser que ele tenha uma classe de olá e um ID de panquecas, é aí que posso usar o seletor de consultas. O que gostaríamos de fazer é vir para o app.js. Digamos seletor de consulta de ponto de documento. Seletor de consulta. Basicamente, você pode dar a ele vários atributos diferentes de um objeto e ele os encontrará em vez especificar id ou classe ou nome da tag. Digamos que queremos uma tag de parágrafo e sabemos que ela tem uma classe de olá. Colocamos um ponto olá. A razão pela qual colocamos um ponto é porque essa é a sintaxe que usaríamos em nossa folha de estilos. Por exemplo, se quiséssemos acessar a classe hello, diríamos travesseiro de pontos e, em seguida, daríamos estilos. É a mesma coisa que estamos fazendo aqui. Agora, as IDs são selecionadas usando o sinal de libra. Vou te mostrar isso em um minuto. Vamos produzir isso e ver o que vem à tona. Quando selecionamos a classe hello, ela escolheu o primeiro objeto que pude encontrar. E é assim que o seletor de consulta funciona, é que ele vincula o primeiro objeto que corresponde aos seus parâmetros. Mas não era isso que queríamos. Queríamos que panquecas fossem incríveis. Podemos especificar mais e dizer panquecas de sinal de libra. Se você se lembra, tivemos a ideia de panquecas aqui. Agora, se produzirmos isso, ele obteve o elemento que queríamos. No entanto, porque as panquecas têm um ID que o torna único e não precisamos de tudo isso. Podemos nos livrar da maioria dessas coisas e apenas dizer uma identificação de panquecas que tem o mesmo efeito. Isso é específico o suficiente para saber o que queremos. E assim você pode ver que temos sintaxe semelhante para fazer a mesma coisa. Existem diferentes maneiras de fazer isso. Se eu disser o parágrafo dois. Portanto, esta é uma sintaxe bastante semelhante aqui , temos um seletor de consultas que recebe a primeira coisa com uma ideia de panquecas. Aqui, só temos o que tem uma ideia de panquecas. Então você pode ver que existem diferentes maneiras de fazer as mesmas coisas. Agora vamos dizer que quando estávamos olhando para o ponto p hello, ele apareceu com apenas a primeira coisa que encontrei, que é o que o QuerySelector faz. E se eu quiser tudo o que combina com isso agora? Bem, então o que posso fazer é usar algo chamado QuerySelector. Tudo o que vamos colocar na mesma coisa. Vamos dizer p dot olá. Isso nos deu essa matriz de lista de nós de ambos os atributos. Por que ter seletores de consulta se tivermos os outros? Bem, QuerySelector é que você tem que fazer muitos desses tipos de seleção de elementos diferentes. seletor de consulta pode ser bom porque você não precisa se lembrar. Obter elemento por ID, elemento por sala de aula. Você não precisa digitar tudo isso. Você acabou de dizer seletor de consulta e, em seguida, especificar , oh, este é uma classe, este é um ID. Este é apenas uma etiqueta. Então, se quiséssemos apenas a tag, poderíamos nos livrar do ponto olá e apenas dizer seletor de consulta todos p. E isso vai encontrar tudo o que é um elemento p. Essas são as várias maneiras de selecionar elementos e isso será muito útil quando começarmos a manipular CSS e usar botões e coisas assim. Vejo você no próximo. 4. Como criar elementos: Agora vamos aprender sobre a criação de elementos. Basicamente, vamos criar programaticamente várias tags, adicionar classes e IDs a elas, estilos, todos esses tipos de coisas. E vamos inseri-los na página. Vamos começar em nosso arquivo app.js. Vou remover tudo isso. Digamos que queremos criar um botão abaixo disso. Também vou me livrar das panquecas são incríveis. Digamos que queremos fazer um botão abaixo disso que, mais tarde, faremos com que ele mude a cor de fundo da página. Mas, por enquanto, vamos criá-lo e colocá-lo na página. O que queremos fazer é criar um elemento. Chamaremos esse botão, seremos muito criativos e o definiremos igual ao elemento de criação de ponto do documento. Da mesma forma que os seletores que estamos usando, você fará aspas simples e, em seguida, o nome da tag, que é botão. Se fosse uma tag de parágrafo, você diria p. Se fosse tag div, você apenas diz div. Tão bem simples. Criamos um botão. Agora isso não fez nada na página porque tudo o que fizemos foi defini-la igual a uma variável. Vamos console.log isso e ver o que temos. Temos apenas uma etiqueta de botão vazia. Vamos adicionar algum texto a ele. Para fazer isso, precisamos criar o que é chamado de nó de texto. Digamos, vamos nó de texto igual ponto de documento criar nó de texto. Agora vamos dizer que queremos que ele diga mudar de fundo, cor. Estamos apenas mudando de cor para ser simples. Agora, se voltarmos e olharmos, criamos o livro didático, mas não o colocamos no botão. Então, o que precisamos fazer é dizer botão ponto anexar. Na verdade, vamos anexar filho dirá nó de texto. O que isso significa agora é que o botão ou o texto é filho ou basicamente está dentro da tag do botão. Se dissermos Salvar, isso nos mostra que temos esse botão aqui. E tem todos esses atributos. Temos nosso botão. Queremos colocá-lo na página. Digamos que queremos inseri-lo logo após esta tag HelloWorld. Vamos mudar isso para um ID para facilitar a seleção. O que precisamos fazer é selecionar a tag HelloWorld e, em seguida, colocar o botão colocar nosso botão logo depois, anexar a ela. O que vamos fazer é dizer Olá, World igual documento ponto querySelector. E vamos dizer libra olá. Depois disso, queremos dizer que o ponto helloworld acrescenta o botão. Agora você pode ver que colocamos o botão logo após ele. Ele não faz nada, é apenas texto e podemos clicar nele. Mas isso é meio legal, certo? Vamos ver. Temos isso logo após o texto. Para que pareça um pouco mais bonito, um pouco mais fácil de olhar. Vamos mudar alguns dos estilos em style.css. Vá para Botão. Estilos para o botão, Todas as tags de botão. Tecnicamente, queremos dizer bloco de exibição porque os botões atualmente são padrão para uma exibição em linha, o que significa que eles podem ser exibidos ao lado de texto ou de outros objetos. Uma tela de bloco. Vamos colocá-lo embaixo, ele exibirá blocos. Se dissermos bloco de exibição, que estará abaixo disso, queremos dar-lhe algum espaço entre o hello world e ele mesmo. Então vamos fazer, vamos fazer uma margem. Na verdade, ele só fará uma margem. Os cinco principais pixels, talvez dez pixels. Ótimo. Temos nosso botão, nós o criamos. O que mais podemos fazer com esse botão enquanto o criamos? O interessante é que é quase mais fácil criar o botão e colocar tudo dentro dele antes de jogá-lo na página. Agora, é claro, você pode selecioná-lo mais tarde e fazer coisas com ele. Mas se você sabe que é uma classe, se você sabe que quer estilos com ela, é mais fácil colocá-lo completamente em um pacote antes de enviá-lo para a página. Vou te mostrar o que quero dizer. Temos nosso nó de texto. Digamos. Também queremos mudar o estilo. Agora, no próximo vídeo, vou me envolver mais na manipulação de estilo e nesse tipo de coisa. Mas muito brevemente, digamos que queremos. Mas vamos fazer o estilo de ponto de botão. Agora podemos dizer cor. Na verdade, a cor de fundo seria, a cor seria apenas o texto. Mas se dissermos cor de fundo, então poderíamos dizer azul claro. Você notará que essa sintaxe é diferente do CSS, e eu vou te dizer como isso funciona brevemente antes do próximo vídeo. Normalmente em CSS, se quiséssemos que o botão fosse azul, azul claro ou o que quer que seja, então diríamos fundo, cor do traço, azul claro, assim. A diferença aqui no JavaScript é que a cor de fundo é uma única palavra usando CamelCase, modo que a primeira letra seja minúscula e as seguintes palavras sejam maiúsculas. Cor de fundo, azul claro. Vamos salvar isso e nos livrar disso. Vamos dar uma olhada nisso. Parece que não funcionou. Vamos ver, temos um botão de erro ponto estilo ponto cor de fundo não é uma função. Então o que está dizendo é que está dizendo: Ei, você não pode colocar um parâmetro lá porque tecnicamente isso está tratando isso como uma função e você não pode fazer isso. Parece que isso não é o que devemos fazer aqui. Em vez de usá-lo como uma função, vamos dizer que é igual a azul claro. Vamos tentar isso. É um pouco difícil de dizer, mas definitivamente é diferente. Não é mais branco. Vamos ver se podemos fazer isso de cores mais distintas. Vamos apenas dizer Blue. Você definitivamente pode ver isso, ok, mas e se quisermos mudar a cor do texto? Podemos dizer estilo de ponto de botão, cor do ponto é igual a brancos. Ótimo. Então é assim que nós, como acrescentamos esses objetos diferentes. Temos que criar. Imagine que seja como uma pirâmide. Temos que no nível base, precisamos do nosso elemento, nosso botão. E então, um nível acima disso, nosso texto ou qualquer outra coisa que possa estar dentro do objeto, criamos. Um nível acima disso é um tipo de nossos estilos e tudo o mais. Você poderia fazer isso com qualquer elemento. Não precisa ser um botão. Pode ser uma div, pode ser tag de cabeçalho. Você poderia realmente fazer o que quiser. Nós inserimos esse botão em alguns vídeos. Vou mostrar como fazer isso mudar a cor do plano de fundo aqui, mas isso é apenas uma visão rápida da criação de elementos. Tudo bem, te vejo no próximo. 5. Manipulação de elementos (especialmente com CSS): Tudo bem, neste vídeo vamos falar sobre manipulação de elementos no DOM. Então, atualmente, temos nosso botão aqui, temos nosso Hello World. Temos nossa cor de fundo. Vamos ver o que podemos fazer com esses elementos, começando com essa cor de fundo. Não é muito bonito na minha opinião. Vamos mudá-lo para uma cor mais agradável. No nosso app.js, vou criar um pouco de espaço e vir aqui um pouco. Então, digamos que queremos selecionar o corpo porque o corpo é o que usamos para criar uma cor de fundo verde. Aqui podemos dizer cor de fundo. Oops, desculpe. Nós podemos. Primeiro, temos que selecionar o corpo. Digamos que o corpo seja igual ao ponto do documento, obtenha elemento por nome da tag. Você também pode usar o QuerySelector. Vai dizer corpo. Eu acredito que você tem que capitalizar este totalmente porque é uma etiqueta especial. Vamos ver se isso funciona corretamente. Certo. Certo. Sim. Certo. Desculpe, eu estava errado. Isso não precisa ser capitalizado. Então, o que aconteceu foi quando eu digitei corpo aqui e o registrei, ele nos deu essa coleção HTML, essencialmente uma matriz de elementos. Isso é o que isso é. E dizia, ok, no primeiro índice, índice 0, temos uma tag de corpo. É um pouco tolo porque a maneira como o seletor de tags funciona é que ele cria uma matriz porque podemos ter várias tags. Se dissermos obter elementos pelo nome da tag P, ele receberá todas as tags de parágrafo. Agora, ele fez a mesma coisa com o corpo, mas só podemos ter uma etiqueta corporal. O que vamos fazer aqui é selecionar o elemento 0 que nos deu nosso corpo. E você pode ver que ele está selecionado quando destacamos nosso cursor sobre ele, ele seleciona a página inteira. E se você abrir isso, você pode ver tudo. Tudo está lá dentro dele. Ok, então agora temos o corpo. Vamos mudar sua cor de fundo. Então, diga estilo corporal. Estilo é como acessamos a propriedade style. Ok, então digamos que a cor de fundo seja igual. Vamos dar. Vamos ver se o rosa claro é uma cor. Não faço ideia. Vamos tentar. Lá vamos nós. Sim, eu gosto disso. É uma boa cor. Deixe-me mostrar a diferença entre as funções que usamos anteriormente e esses sinais iguais. No último vídeo. Descobri que cometi um erro quando tentei usar a cor de fundo. Faça algo assim onde eu disse como cor de fundo, parênteses, rosa claro. Mas o problema é que não é uma função. Criar nó de texto é uma função. Está lendo algo feito de texto. Criar elemento é uma função. Queryselector é uma função, mas essas são propriedades dos elementos. Deixe-me mostrar o que quero dizer. Vamos selecionar o, vamos selecionar bem, podemos selecionar a tag body. Já selecionamos a tag body. Vamos registrá-lo. Vamos clicar nisso. O que recebemos? O corpo, na verdade pode não ser o melhor exemplo. Vamos tentar, vamos tentar o botão. Vamos, vamos ver. Desculpe por isso. Etiqueta do corpo. A tag corporal é um pouco estranha, então vamos selecionar nossa tag de parágrafo que diz Hello World. Só para este exemplo. Digamos que p para parágrafo igual. Documento, seletor de consulta, libra, olá. Então logo abaixo, vamos registrar P. Nós registramos P aqui. Selecionamos esta tag de parágrafo. Mas o que queremos fazer é obter um pouco mais de detalhes é que vamos colocar o p.ball antes da libra aqui no QuerySelector. Assim, podemos acessar mais informações sobre isso. É um pouco confuso. Mas quando o registrarmos, você verá que temos esse olá P lb. Se clicarmos nisso, você verá que existem todas essas coisas. Essas são propriedades da nossa tag de parágrafo. Aqui, esta tag de parágrafo tem toneladas de propriedades. A maioria deles diz nulo. Não estamos usando-os. Mas alguns deles somos, por exemplo, estilo. Se você clicar em estilo, verá uma lista de todos os estilos, basicamente todos os estilos possíveis para esse objeto. Novamente, a maioria dos quais não estava usando. Mas digamos que queremos mudar a cor desse olá mundo. Bem, então podemos procurar aqui e encontrar cores. Meu ponto em mostrar isso é mostrar por que isso não é uma função. Y. Quando tentamos mudar a cor de fundo do corpo, dissemos que o fundo do ponto do estilo do ponto do corpo, cor é igual a rosa claro. Fizemos isso porque esse rosa claro, desculpe, a cor era uma propriedade sob a propriedade style para esse elemento. Se isso foi um pouco confuso, está tudo bem. Você não precisa se preocupar com isso. Só saiba que quando você está modificando alguma parte de um elemento, seu CSS, é o que acontece quando você clica nele, todas essas coisas. Essas são propriedades que você define iguais a um valor que são diferentes dessas funções aqui. Agora, em caso de dúvida, se você procurar mudar estilo, cor de fundo para um elemento on-line, você poderá ver a sintaxe para isso se esquecer ou se você procurar criar nó de texto, você poderá ver a sintaxe de um site como as escolas Mozilla ou W3. Existem muitos sites que lhe dirão a sintaxe exata dessas coisas. Mas de volta ao que estávamos fazendo, estávamos mudando a cor de fundo aqui. Vamos ver quais outras propriedades podemos alterar enquanto selecionamos nossa tag p. Se clicarmos em P e pressionarmos o período, podemos ver todos os tipos de coisas. Então, talvez queiramos alterar o texto e clicar aqui no conteúdo do texto. Sabemos anteriormente que o conteúdo do texto é helloworld. E se eu quiser mudar isso? Posso definir essa propriedade igual a eu gosto do Pi. Agora você pode ver que o JavaScript manipulou esse elemento, ele foi alterado. É propriedade textContent. Se você quiser, eu o encorajaria a examinar as propriedades de cada elemento. Você pode fazer isso no código VS simplesmente pressionando os pontos depois algo e percorrendo esta lista, ele lhe dirá todos os tipos de coisas que você pode acessar. Por exemplo, o próximo irmão, que lhe dirá qual elemento está ao lado dele. Ou podemos procurar o HTML interno que mostrará o HTML dentro dele. Você pode perguntar se ele tem um determinado atributo. Todos esses tipos de coisas, na verdade, vamos tentar que alguém tenha atributo. Digamos. Vou te mostrar um pouco, um pouco mais de lógica. O código com isso tem atributos. Vou me livrar disso. Vamos, vamos ver, vamos fazer uma declaração if. Vamos dizer que se P tiver a cor do atributo, tiver uma cor de atributo, então faremos alguma coisa. Na verdade, desculpe, não o atributo de cor, o atributo da cor do ponto de estilo. Não tenho certeza se essa sintaxe exata funcionará, mas vamos consolar o sucesso. Vamos ver o que acontece. Parece que não conseguimos nada. E se nós apenas dissemos estilo? Ainda nada? Talvez precisemos adicionar uma cor. Então, vamos tentar a cor do ponto do estilo p ponto é igual a azul. Ok, então olhe para isso. Ele registrou sucesso porque percebeu que ele tem o atributo de estilo. Vamos ver o que acontece se fizermos a cor do ponto de estilo. Isso não funciona para isso. Portanto, atributos em elementos HTML são essas coisas aqui que você coloca entre aspas que você coloca dentro do elemento. Então eu poderia ver se o hello world tem uma ideia de Hello vindo aqui e dizendo, se, vamos ver, vamos fazer ponto. Podemos fazer p dot get atributo. Digamos que queremos a cor. Vamos definir isso igual a azul. O que isso está fazendo? Diz, obtenha o atributo de cor. Oh, desculpe. Isso não é o que estamos fazendo. Acabei de me espaçar um pouco. Queríamos saber o ID. Se isso fosse olá. Temos o ID do atributo, que está bem aqui. Queremos dizer que se esses atributos são iguais a hello, então console um sucesso. O que ele faz. Se quiséssemos dizer se é igual a adeus, sem sucesso. Você pode ver como isso está funcionando de uma perspectiva de sobrecarga e ver que há muitas possibilidades com a lógica JavaScript onde você pode usar instruções if. Você poderia usar loops. Por exemplo, você pode usar um loop for-e dizer, para números de um a dez, criar esses elementos ou alterar suas cores. Faça todos os tipos de coisas. As possibilidades são basicamente infinitas. Então eu mostrei muitas coisas aqui. Eu recomendaria se, se algo disso fosse confuso, tentasse assistir novamente ao vídeo. Basta passar passo a passo e aprender o que você pode fazer para manipular esses objetos. Mas saiba que uma recapitulação básica, cada elemento tem propriedades, tem centenas ou 800 propriedades. E algumas dessas propriedades têm propriedades dentro delas. Por exemplo, o estilo tem cor, fundo, cor, margem, todos esses tipos de coisas. Você pode acessar aqueles usando essas várias funções. Fora de elementos. Você digita o nome da variável e digita o período. E isso lhe dá todo tipo de coisas. Eu exploraria esses. Se você não sabe o que é, procure-o online e ele lhe dirá a sintaxe. Ele lhe dirá como usá-lo e todas as coisas que você pode fazer com ele. Mas verei vocês no próximo vídeo quando fizermos esse botão, fizermos coisas. Tudo bem. 6. Como criar botões interativos: Neste vídeo, vamos fazer nosso botão fazer algumas coisas legais. Vamos fazer com que ele mude cor e talvez coloque algo no console. Vamos começar. Para tornar as coisas um pouco mais simples por enquanto, vou comentar isso e vou fazer nosso botão. Vou codificar o HTML apenas para tornar um pouco mais fácil de manipular. Tudo bem, temos nosso botão de mudança de cor. Digamos que se eu clicar neste botão, quero que ele mude a cor para azul. Então, o que vamos fazer é que eu preciso criar uma função que, quando ela for executada, mude essa cor. Vamos escrever a função. Vou chamar isso de mudança de cor. Por enquanto, vamos fazer console.log, mudando de cor. Certo. Agora, em nosso HTML, precisamos acionar isso de alguma forma. Em nossa etiqueta de botão. Vamos colocar um atributo chamado onClick. Então você pode obter disso. Mas quando clicamos nele, ele vai fazer alguma coisa. E vamos digitar essa função, mudar de cor, garantir que você tenha o parêntese. Muito importante. Quando clico neste botão, queremos que ele registre a mudança de cor. Se eu abrir o console e clicar nele, mudando de cor, você poderá ver quanto mais eu clico nele, mais ele repete essa mensagem. Então agora vamos fazer algo legal com ele. O que queremos fazer é selecionar o corpo e mudar sua cor. Então vamos dizer que deixe o corpo igual documento ponto. Obtenha elementos por nome da tag, salve o corpo. E lembre-se que temos que selecionar os elementos 0 para acessar o corpo. E fazemos isso porque quando selecionamos tags, ele obtém uma matriz de cada tag desse tipo. E o corpo também faz isso, mesmo que usemos apenas uma tag de corpo. Selecionamos o corpo. E então dizemos estilo de ponto corporal, cor de fundo do ponto é igual a azul. Agora, quando clicamos em nosso botão, acabamos de mudar a cor para azul. Mas se você clicar nele novamente, ele não muda de volta. Por que isso? Bem, se olharmos para o código, estamos apenas dizendo a ele para mudá-lo para azul. Se atualizarmos a página, ela voltará para verde. Mas assim que clicarmos nesse botão, azul. Então, vou te mostrar como fazer alguma lógica para mudá-la de um para o outro. Então, vamos supor que selecionamos essa tag aqui. Vou me livrar disso. Vamos criar uma instrução if. Nós diremos que se a cor de fundo do ponto do estilo de ponto do corpo for igual, certifique-se de que você tenha igual igual ou duplo para que você não seja igual único , definiria como uma variável, defina um valor para uma variável. Queremos um duplo ou triplo igual para garantir que estamos comparando uma qualidade. Você pode procurar a diferença entre sinais de igual duplo e triplo na linha. Se a cor for igual a verde, porque acho que foi o que escolhemos anteriormente. Se for igual a verde , mude-o para azul. Caso contrário, o que significa que a cor de fundo já é azul ou outra coisa. Caso contrário, mude-o para verde. O que isso diz é que ele recebe o elemento do corpo e diz: Ok, se a cor de fundo for verde, mude-a para azul. Se for azul, mude-o para verde porque temos essa declaração else. Então, se não estiver verde, mude-o para verde. Vamos olhar para ele. Lá vamos nós. Estamos mudando entre azul e verde. E toda vez que clicamos nele. Agora, como você pode ver, há muitos textos acontecendo aqui nesta declaração se e aqui, isso foi. Tendência ao longo deste curso. Se você procurar todas essas coisas que criamos, há muitos textos envolvidos. Essa é uma espécie de natureza do JavaScript de baunilha ou apenas JavaScript simples. Uma maneira de reduzir isso é se vamos usar algo várias vezes, por exemplo, essa cor de fundo, podemos definir a cor de fundo igual a uma variável. Poderíamos dizer que deixe cor de fundo igual a cor de fundo do ponto do ponto do corpo . Dessa forma. Podemos manter essa parte de cor de fundo que reduz significativamente a quantidade de código que precisamos. Mas funcionou? Vamos ver. Não funcionou. Vamos ver se há algum erro. Sem erros. Percebi que o problema é uma boa lição de codificação para nós dois. Veja aqui, defino a cor de fundo igual a qualquer que seja a cor de fundo atual. Mas aqui eu estava mudando a cor dessa variável. Agora, essa variável, uma vez que foi dito, é separada do próprio elemento do corpo. Estamos mudando isso, mas não o que queremos estar mudando. E então peço desculpas, cometi um pequeno erro ao explicar isso para você. Essas duas coisas ainda precisariam ser a cor de fundo do ponto do estilo do ponto do corpo. Porque queremos alterar essa cor de fundo original, mas ainda podemos verificar a cor de fundo assim. Usando essa variável, o que melhora a legibilidade na instrução if. Lá vamos nós. Agora conseguimos que ele funcione novamente. Pode haver maneiras de contornar isso se tomássemos mais tempo e investigar isso. Mas você pode estar se perguntando, bem, qual é o benefício de declarar isso aqui em cima? E então isso lá embaixo. Nessa situação, não há muito benefício. Nós definitivamente poderíamos escrever a cor de fundo do ponto do estilo do ponto do corpo aqui. Mas digamos que quiséssemos usar essa cor de fundo em outro lugar. E diga, bem, se a cor de fundo blob, é bom tê-lo abreviado e muito legível porque é importante ter código legível. Você quer ser capaz de olhar para ele e ver o que está fazendo. Isso é uma pequena dica sobre o que podemos fazer com a cor de fundo. Agora, vamos dar um passo adiante e fazer um pouco de console.log. Digamos que isso será azul e este. Enquanto loucura, lá vai você. pontos do console verde. Agora, se abrirmos o terminal, lá vamos nós. Azul, verde, azul, verde. É meio legal. Você pode imaginar todos os tipos de coisas que você faz com isso. Enquanto o aplicativo do mundo real, bem, todos os sites que você acessa basicamente têm botões. E quando você clica lá executando JavaScript, isso está fazendo todos os tipos de coisas legais. Funções de chamada que obtêm dados da Internet que, você sabe, enviam mensagens. Você pode fazer coisas ilimitadas realmente com essa funcionalidade. Então, este é apenas um olhar muito básico sobre isso. E é algo que eu queria compartilhar com você mais cedo quando eu estava falando sobre encurtar seu código usando variáveis, é que há uma variedade do que chamamos de estruturas JavaScript por aí, que são essencialmente alguém pegou JavaScript e fez uma versão dele que tem funcionalidade adicional ou sintaxe mais fácil no código. Isso é chamado de framework. E você deve ter ouvido falar disso, alguns dos nossos jQuery Angular React View, esses são todos frameworks JavaScript. São apenas maneiras diferentes de escrever o código. Cada um deles tem sintaxe diferente, recursos diferentes. Então, se você está tendo esse código abreviado é realmente importante para você, então eu sugeriria procurar uma estrutura. Leva algum tempo para aprender, mas pode ser uma experiência muito gratificante. Muitas vezes, quando você tem um grande site complexo de aplicativos qual você está tentando fazer coisas, com a manipulação do DOM. Pode ficar confuso rapidamente. Quero dizer, você pode imaginar ter todas essas funções e apenas todo esse código escrito aqui. É muito. E essa é apenas a natureza do JavaScript de baunilha ou do JavaScript simples. Mas essa função de mudança de cor. Se eu fosse fazer isso no Angular, por exemplo, pode levar apenas três linhas de código. Quem sabe? Pode ser muito mais fácil fazer as coisas mais rapidamente. Mas isso é, é importante saber essas coisas porque muitos desses princípios de manipulação do DOM que usamos com JavaScript simples são usados nessas outras estruturas. Sei que mostrei um exemplo muito básico de apenas mudar a cor de fundo através desse botão. No próximo vídeo, vou falar sobre o projeto que eu quero que você faça. Isso pode ser realmente gratificante, que pode realmente te ensinar muito. Porque o melhor professor que eu acho que está fazendo isso sozinho. Só está cavando , tentando coisas. Vou falar um pouco sobre isso, mas isso é tudo para este vídeo. Isso é apenas uma recapitulação rápida. Falamos sobre fazer nosso botão fazer as coisas. Então, usamos o atributo onclick e o definimos igual a uma função. E essa função é importante. Tivemos que declarar isso dentro dele. Poderíamos fazer o que quiséssemos. Você sabe, você nem precisa manipular o HTML. Você não precisa manipular a página. Nesta função, ele poderia fazer algo totalmente diferente. Ele poderia calcular matemática. Poderia, há várias coisas. Mas, basicamente, selecionamos os elementos e fizemos uma instrução if para alterar a cor dependendo da cor de fundo que estava definida. Certo. Vejo vocês no próximo vídeo. 7. Projeto/conclusão: Tudo bem pessoal, vocês chegaram ao último vídeo deste curso de manipulação do DOM. Vocês deveriam se orgulhar de si mesmos. As habilidades que você aprendeu aqui serão muito importantes em qualquer desenvolvimento web que você faça. E realmente apenas melhore seu conhecimento de codificação em geral. Essas são coisas que realmente me fascinam que eu gosto e espero que você tenha gostado também. Para ajudá-lo a aproveitar um pouco mais, para ajudá-lo a aprender mais. Vou falar sobre o projeto um pouco agora. Para este projeto, é muito simples. Eu só quero que você explore, explore todas as funções que você possa encontrar qualquer coisa que pareça interessante para você. Quero que você experimente. Se você tem uma ideia de algo simples que você quer fazer, Ei, se eu clicar neste botão, quero alterar o texto na página para algo. Ou vou calcular alguma matemática. Você pode fazer uma calculadora básica ou realmente o que quiser. Quero que você experimente , explore funções, use os recursos do código VS que eu ensinei a você, bem como as Ferramentas do Desenvolvedor do Chrome para visualizar os atributos, para selecionar as coisas que você deseja alterar. Há tantas coisas que você pode fazer. Você pode até tentar fazer uma página da Web completamente fora de me escapar completamente com elementos criados por JavaScript sem HTML ou CSS codificado. Isso pode ser um desafio legal. Mas realmente eu só quero que você se divirta. Quero que você explore e compartilhe suas criações com outras pessoas. Se você aprender alguma coisa, mostre a outra pessoa. Eu acho que tomar o tempo para investigar isso e eu não aprendi um pouco e compartilhei seu sucesso com os outros está indo, só vai se sentir muito bem. Espero que vocês tenham gostado deste curso. Espero que você me leve neste projeto e experimente por 15 minutos. Tente manipular objetos, tente fazer algo legal com manipulação de JavaScript e DOM. Se vocês gostaram deste curso, por favor, confira meus outros cursos no Skillshare. Eu tenho um em Angular e componentes, serviços, todo tipo de coisas, roteamento. Há um ótimo curso Angular lá. Eu recomendo ir conferir e publicarei mais aulas espero que em breve no futuro. Então, por favor, confira também e compartilhe-os com seus amigos. Isso poderia realmente se beneficiar desse conhecimento. Mas até lá, Meu nome é Taylor e foi um prazer ser seu instrutor. E desejo-lhe felicidades.