If you're seeing this message, it means we're having trouble loading external resources on our website.

Se você está atrás de um filtro da Web, certifique-se que os domínios *.kastatic.org e *.kasandbox.org estão desbloqueados.

Conteúdo principal

Revisão: Coleções jQuery e repetição

Coleções jQuery

Quando você usa jQuery para encontrar elementos, ele retorna um objeto de coleção jQuery:
var $heading = $('h1');
É uma prática comum iniciar nomes de variáveis como essa com um sinal de $ para mostrar que elas estão armazenando objetos de coleção jQuery. Isso ajuda a distingui-las das variáveis que armazenam nós DOM.
Se você quiser recuperar o nó DOM de um objeto jQuery, você pode tratar o objeto jQuery como um array e usar a notação de colchetes:
var heading = $heading[0];
Se você quiser transformar um nó DOM em um objeto jQuery, você pode passá-lo para uma função jQuery:
var $heading = $(heading);

Fazendo repetições em coleções

Se você quiser passar por vários elementos repetidamente em uma coleção, você pode usar um laço for comum ou o método jQuery each():
    $("p").each(function(index, element) { 
        $(element).text( $(element).text() + "!!"); 
    });
Quando você chama a função each(), você precisa passar uma função callback para ela. O jQuery então vai chamar essa função callback para cada elemento da coleção e vai passar o índice atual e o elemento para a função.
O jQuery também define o contexto da função para o elemento atual, o que significa que você pode referenciar o elemento com a palavra reservada this:
    $("p").each(function(index, element) { 
        $(elem).text( $(element).text() + "!!"); 
    );

Quer participar da conversa?

  • Avatar blobby green style do usuário Jessica Castillo
    O jQuery também define o contexto da função para o elemento atual, o que significa que você pode referenciar o elemento com a palavra reservada this:
    $("p").each(function(index, element) { 
    $(elem).text( $(element).text() + "!!");
    );


    Pode-me indicar onde está a palavra "this" no código apresentado?
    (4 votos)
    Avatar Default Khan Academy avatar do usuário
    • Avatar blobby green style do usuário Jonathan Ribeiro
      no caso da explicação que ficou vaga, ela é comentada no vídeo anterior. VocÊ ao usar a função each() teria que igualar salvar a variável para uma coleção jQuery, ex acima: var $p = $(this); (você pode conferir no log se está tudo certo usando o console.log(element === this);
      estando tudo ok, você aplicaria a repetição, como: $p.text( $(element).text() + "!!")
      (1 voto)
Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.