WEBVTT
00:00:01.040 --> 00:00:06.750
Daqui para frente, você vai me
ouvir dizer muito esta sigla: DOM.
00:00:09.978 --> 00:00:15.502
DOM é a sigla para Modelo de
Objeto de Documento,
00:00:15.502 --> 00:00:18.907
e é a forma com a qual os navegadores
deixa nós desenvolvedores
00:00:18.907 --> 00:00:21.637
manipularmos páginas de
internet com JavaScript.
00:00:21.637 --> 00:00:23.776
Sempre que um navegador
carrega uma página,
00:00:23.776 --> 00:00:26.706
ele analisa todo o HTML e CSS,
00:00:26.706 --> 00:00:30.238
e converte o documento
em um DOM.
00:00:30.238 --> 00:00:33.849
Esse DOM é de fato um
objeto JavaScript grande,
00:00:33.849 --> 00:00:37.381
que contém tudo o que quisermos
saber ou mudar em uma página,
00:00:37.381 --> 00:00:43.050
como cada tag, atributo
e estilo para cada tag.
00:00:43.050 --> 00:00:46.953
Para acessar o DOM em uma
página a partir do JavaScript,
00:00:46.953 --> 00:00:52.750
usamos a variável global document,
e depois podemos usar propriedades
00:00:52.750 --> 00:00:57.396
e chamar funções que estão
vinculadas a esse objeto aqui.
00:00:57.396 --> 00:01:04.179
A estratégia geral para a manipulação
do DOM consiste em dois passos.
00:01:04.179 --> 00:01:09.489
Deixe-me fazer uma
lista delas aqui.
00:01:09.489 --> 00:01:14.753
Aí está, e depois temos
o segundo passo.
00:01:14.753 --> 00:01:17.503
Vamos passar por cada um
desses dois passos agora.
00:01:17.503 --> 00:01:23.439
O primeiro passo é encontrar o nó do
DOM usando um método de acesso.
00:01:23.439 --> 00:01:25.994
Se estivermos procurando
pela tag < body >
00:01:25.994 --> 00:01:28.990
então podemos acessá-la
bem facilmente
00:01:28.990 --> 00:01:33.336
apenas usando document.body
00:01:33.336 --> 00:01:38.904
E o segundo passo é a manipulação
do nó que selecionamos
00:01:38.904 --> 00:01:43.245
mudando seus atributos, estilos,
HTML interno
00:01:43.245 --> 00:01:45.818
ou anexando novos nós a ele, ...
00:01:45.818 --> 00:01:50.193
Se quisermos apenas substituir
o conteúdo inteiro da tag,
00:01:50.193 --> 00:01:53.439
então podemos usar a
propriedade innerHTML.
00:01:53.439 --> 00:01:58.774
Neste caso: document.body.innerHTML =
"Webpage be gone!";
00:01:59.994 --> 00:02:01.364
Consegui!
00:02:01.854 --> 00:02:06.180
O navegador está observando as
alterações no objeto document,
00:02:06.180 --> 00:02:09.978
e assim que ele vê você alterar o
HTML interno de document.body
00:02:09.978 --> 00:02:13.369
ele reflete a mudança no
documento de fato.
00:02:13.369 --> 00:02:17.629
Lembre-se, o objeto document não
é a página de verdade,
00:02:17.629 --> 00:02:23.634
mas o navegador tenta fazê-lo refletir a
página atual tanto quanto possível.
00:02:24.054 --> 00:02:28.843
Existem muitas maneiras
de realizar o passo um,
00:02:28.843 --> 00:02:32.842
porque usualmente você quer encontrar
alguma coisa além da tag body.
00:02:32.842 --> 00:02:35.500
Talvez você queira encontrar uma
tag com um certo ID
00:02:35.500 --> 00:02:37.535
ou todas as tags de um certo tipo.
00:02:37.535 --> 00:02:41.521
Isso é o que vamos falar no tutorial
de métodos de acesso do DOM.
00:02:41.521 --> 00:02:45.441
Há também um monte de coisas legais
que você pode fazer no passo dois,
00:02:45.441 --> 00:02:48.615
como mudar os atributos ou estilos
das tags que você selecionar.
00:02:48.615 --> 00:02:52.562
Falaremos de tudo isso no tutorial
de modificação do DOM.
00:02:52.562 --> 00:02:56.358
Tendo dominado o acesso e
manipulação do DOM
00:02:56.358 --> 00:02:59.051
veremos formas divertidas de usá-los,
00:02:59.051 --> 00:03:03.042
como quando responder a eventos
de usuários ou fazer animações.
00:03:03.042 --> 00:03:06.775
Neste momento, é um pouco bobo
usar o JavaScript para fazer
00:03:06.775 --> 00:03:09.852
o que poderíamos fazer apenas
usando o HTML de início,
00:03:09.852 --> 00:03:14.552
mas acredite, você vai querer dominar
o acesso e modificação do DOM
00:03:14.552 --> 00:03:19.030
para fazer experiências interativas
completas mais tarde.
00:03:19.030 --> 00:03:21.775
Então, continue assistindo, e até mais.
00:03:21.775 --> 00:03:25.812
Legendado por [Carlos A. N. C. R.]
Revisado por [Fernando dos Reis]