jQuery - DOM Traversing

jQuery é uma ferramenta muito poderosa que fornece uma variedade de métodos de travessia de DOM para nos ajudar a selecionar elementos em um documento aleatoriamente, bem como no método sequencial. A maioria dos métodos DOM Traversal não modifica o objeto jQuery e são usados ​​para filtrar elementos de um documento com base em determinadas condições.

Encontrar elementos por índice

Considere um documento simples com o seguinte conteúdo HTML -

<html>
   <head>
      <title>The JQuery Example</title>
   </head>
	
   <body>
      <div>
         <ul>
            <li>list item 1</li>
            <li>list item 2</li>
            <li>list item 3</li>
            <li>list item 4</li>
            <li>list item 5</li>
            <li>list item 6</li>
         </ul>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -

  • Acima, cada lista tem seu próprio índice e pode ser localizada diretamente usando eq(index) método conforme o exemplo abaixo.

  • Cada elemento filho inicia seu índice do zero, portanto, o item da lista 2 seria acessado usando$("li").eq(1) e assim por diante.

Exemplo

A seguir está um exemplo simples que adiciona a cor ao segundo item da lista.

<html>
   <head>
      <title>The JQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $("li").eq(2).addClass("selected");
         });
      </script>
		
      <style>
         .selected { color:red; }
      </style>
   </head>
	
   <body>
      <div>
         <ul>
            <li>list item 1</li>
            <li>list item 2</li>
            <li>list item 3</li>
            <li>list item 4</li>
            <li>list item 5</li>
            <li>list item 6</li>
         </ul>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -

Filtrando Elementos

o filter( selector )método pode ser usado para filtrar todos os elementos do conjunto de elementos correspondentes que não correspondem ao (s) seletor (es) especificado (s). O seletor pode ser escrito usando qualquer sintaxe de seletor.

Exemplo

A seguir está um exemplo simples que aplica cor às listas associadas à classe média -

<html>
   <head>
      <title>The JQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $("li").filter(".middle").addClass("selected");
         });
      </script>
		
      <style>
         .selected { color:red; }
      </style>
   </head>
	
   <body>
      <div>
         <ul>
            <li class = "top">list item 1</li>
            <li class = "top">list item 2</li>
            <li class = "middle">list item 3</li>
            <li class = "middle">list item 4</li>
            <li class = "bottom">list item 5</li>
            <li class = "bottom">list item 6</li>
         </ul>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -

Localizando Elementos Descendentes

o find( selector )O método pode ser usado para localizar todos os elementos descendentes de um determinado tipo de elementos. O seletor pode ser escrito usando qualquer sintaxe de seletor.

Exemplo

A seguir está um exemplo que seleciona todos os elementos <span> disponíveis dentro de diferentes elementos <p> -

<html>
   <head>
      <title>The JQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $("p").find("span").addClass("selected");
         });
      </script>
		
      <style>
         .selected { color:red; }
      </style>
   </head>
	
   <body>
      <p>This is 1st paragraph and <span>THIS IS RED</span></p>
      <p>This is 2nd paragraph and <span>THIS IS ALSO RED</span></p>
   </body>
</html>

Isso produzirá o seguinte resultado -

Métodos de filtro JQuery DOM

A tabela a seguir lista métodos úteis que você pode usar para filtrar vários elementos de uma lista de elementos DOM -

Sr. Não. Método e Descrição
1 eq (índice)

Reduza o conjunto de elementos correspondentes a um único elemento.

2 filtro (seletor)

Remove todos os elementos do conjunto de elementos correspondentes que não correspondem ao (s) seletor (es) especificado (s).

3 filtro (fn)

Remove todos os elementos do conjunto de elementos correspondentes que não correspondem à função especificada.

4 é (seletor)

Compara a seleção atual com uma expressão e retorna verdadeiro, se pelo menos um elemento da seleção se encaixa no seletor fornecido.

5 mapa (retorno de chamada)

Traduzir um conjunto de elementos no objeto jQuery para outro conjunto de valores em um array jQuery (que pode ou não conter elementos).

6 não (seletor)

Remove os elementos correspondentes ao seletor especificado do conjunto de elementos correspondentes.

7 fatia (início, [fim])

Seleciona um subconjunto dos elementos correspondentes.

Métodos JQuery DOM Traversing

A tabela a seguir lista outros métodos úteis que você pode usar para localizar vários elementos em um DOM -

Sr. Não. Métodos e Descrição
1 adicionar (seletor)

Adiciona mais elementos, correspondidos pelo seletor fornecido, ao conjunto de elementos correspondidos.

2 andSelf ()

Adicione a seleção anterior à seleção atual.

3 filhos ([seletor])

Obtenha um conjunto de elementos contendo todos os filhos imediatos exclusivos de cada um dos conjuntos de elementos correspondentes.

4 mais próximo (seletor)

Obtenha um conjunto de elementos contendo o elemento pai mais próximo que corresponda ao seletor especificado, incluindo o elemento inicial.

5 conteúdo ()

Encontre todos os nós filhos dentro dos elementos correspondentes (incluindo nós de texto) ou o documento de conteúdo, se o elemento for um iframe.

6 fim( )

Reverta a operação 'destrutiva' mais recente, alterando o conjunto de elementos correspondentes ao estado anterior.

7 find (seletor)

Pesquisa por elementos descendentes que correspondam aos seletores especificados.

8 próximo ([seletor])

Obtenha um conjunto de elementos contendo os próximos irmãos exclusivos de cada um dos conjuntos de elementos fornecidos.

9 nextAll ([seletor])

Encontre todos os elementos irmãos após o elemento atual.

10 offsetParent ()

Retorna uma coleção jQuery com o pai posicionado do primeiro elemento correspondente.

11 pai ([seletor])

Obtenha o pai direto de um elemento. Se chamado em um conjunto de elementos, parent retorna um conjunto de seus elementos pais diretos exclusivos.

12 pais ([seletor])

Obtenha um conjunto de elementos contendo os ancestrais exclusivos do conjunto de elementos correspondentes (exceto para o elemento raiz).

13 prev ([seletor])

Obtenha um conjunto de elementos contendo os irmãos anteriores exclusivos de cada um dos conjuntos de elementos correspondentes.

14 prevAll ([seletor])

Encontre todos os elementos irmãos na frente do elemento atual.

15 irmãos ([seletor])

Obtenha um conjunto de elementos contendo todos os irmãos exclusivos de cada um dos conjuntos de elementos correspondentes.