Neste artigo você vai aprender a como usar o querySelectorAll para selecionar elementos filhos, facilitando a seleção de elementos
Fala programador(a), beleza? Bora aprender mais sobre JavaScript!
No mundo do desenvolvimento web, a manipulação de elementos do Document Object Model (DOM) é uma habilidade essencial.
Uma das técnicas mais comuns para acessar os elementos do DOM é usar o método querySelectorAll
.
Neste artigo, vamos discutir como usar o querySelectorAll
para selecionar os elementos filhos em JavaScript.
O que é o querySelectorAll?
O método querySelectorAll
é uma função incorporada em JavaScript que retorna uma NodeList estática (não uma matriz real) de elementos no documento que correspondem a um grupo de seletores de CSS específicos.
A lista retornada incluirá todos os elementos descendentes que correspondem aos seletores fornecidos.
Selecionando elementos filhos com querySelectorAll
Ao usar o querySelectorAll
para selecionar os elementos filhos, você precisa fornecer o seletor de CSS correto que representa os elementos filhos.
Por exemplo, se você tem uma lista não ordenada com a classe “myList” e quer selecionar todas as listas de itens como elementos filhos, você pode fazer isso da seguinte maneira:
let listItems = document.querySelectorAll('.myList li');
Neste exemplo, o querySelectorAll('li')
está sendo chamado no elemento retornado por document.querySelector('.myList')
, resultando na seleção de todos os elementos li
que são filhos diretos do elemento com a classe ‘myList’.
Entendendo a diferença entre ‘ ‘ e ‘>’
Ao trabalhar com querySelectorAll
, é importante entender a diferença entre os seletores ‘ ‘ (espaço) e ‘>’.
O ‘ ‘ (espaço) é um combinador descendente que seleciona elementos que são descendentes de um elemento específico.
Por outro lado, o ‘>’ é um combinador de filho que seleciona elementos que são filhos diretos de um elemento específico.
Para exemplificar, suponha que temos a seguinte estrutura HTML:
<div class="myDiv"> <p>Parágrafo 1</p> <div> <p>Parágrafo 2</p> </div> </div>
Se você usar querySelectorAll('.myDiv p')
, ele selecionará ambos os elementos p
.
No entanto, se você usar querySelectorAll('.myDiv > p')
, ele selecionará apenas o primeiro elemento p
que é um filho direto do elemento com a classe ‘myDiv’.
Trabalhando com a NodeList retornada
Como mencionado anteriormente, querySelectorAll
retorna uma NodeList, não uma matriz real.
Embora NodeList e Array sejam semelhantes em alguns aspectos, eles têm diferenças significativas.
Por exemplo, Array tem métodos como map()
, filter()
, e reduce()
que não estão disponíveis em NodeList.
No entanto, você pode converter facilmente uma NodeList em uma matriz usando o método Array.from()
. Aqui está um exemplo:
let listItems = document.querySelector('.myList li'); let listItemsArray = Array.from(listItems);
Agora, listItemsArray
é uma matriz real, e você pode usar todos os métodos de matriz disponíveis.
Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:
Conclusão
E chegamos ao fim do artigo sobre como utilizar o querySelectorAll para selecionar elementos filhos!
Usar querySelectorAll
para selecionar elementos filhos é uma técnica poderosa que pode tornar seu código mais limpo e fácil de entender.
No entanto, é importante lembrar que nem todos os métodos de matriz estão disponíveis na NodeList retornada por querySelectorAll
.
Portanto, pode ser necessário converter a NodeList em uma matriz, especialmente se você precisa usar métodos de matriz como map
, filter
ou reduce
.
No fim das contas, o conhecimento de como manipular o DOM é uma habilidade fundamental para qualquer desenvolvedor JavaScript.
Quer você esteja criando uma aplicação web do zero ou trabalhando em um projeto existente, o querySelectorAll
é uma ferramenta valiosa que pode ajudar a tornar seu trabalho mais eficiente.
Esperamos que este artigo tenha ajudado a esclarecer como usar o querySelectorAll
para selecionar os elementos filhos. Pratique essa técnica e veja como ela pode melhorar seu código!
Está buscando em evoluir como Programador? Confira o nossos cursos clicando aqui.
Nosso principal objetivo é tornar você um dev profissional que é capaz de resolver problemas de alta dificuldade e criar projetos complexos, através de uma metodologia planejada nos mínimos detalhes, após formar muitos outros desenvolvedores.
Cursos com vários projetos, exercícios, material apoio, comunidade de alunos e muito mais!