Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kakashi963

[Resolvido] Apenas explicação sobre código

Recommended Posts

Boa tarde! Tenho comigo um código que não consigo entender, sou iniciante em javascript.

 

$('.excluir').click(function (e) {
       e.preventDefault();
       $(this).parent().parent().remove();
       atualizaIndex();
       $delete = (this);
   });

 

O que significa uma variavel com $ na frente? como essa:

$delete = (this);

 

E esse trecho:

$(this).parent().parent().remove();

 

Ele deleta o pai do pai?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue código comentado.

$( '.excluir' ).click( function ( e ) {

   e.preventDefault(); //Ação padrão que este evento dispara não será executada.

   //Exatamente o que você disse, o pai, do pai do elemento atual (o que foi clicado) será removido do DOM.
   $( this ).parent().parent().remove();

   atualizaIndex(); //chama uma função, provavelmente este item que foi removido estava em uma lista com index, logo como removeu um, terá que atualizar o index

   $delete = $( this ); //o $ na frente é para deixar claro que se trata de um objeto jQuery contendo um elemento. Perceba que corrigi o código.

});

 

A declaração da variável $delete provavelmente está no local errado, e ela está sendo declarada globalmente, o que não é uma boa prática. O correto, seria o seguinte:

$( '.excluir' ).click( function ( e ) {

   e.preventDefault();

   var $delete = $( this ); //sempre use o var

   $delete.parent().parent().remove();

   atualizaIndex();

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.