Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida sobre o this

var aposInicializado = function() {
    atualizaDados();
    $(".undo").click(undo);
    $(".remove-item").click(removeItem);
    $(".carrinho").each(function() {
        $(this).find("tr:nth-child(3n)").each(function() {
            umaPropaganda().insertAfter($(this));
        });
    });
    $(".carrinho tbody tr").hover(daDestaque, tiraDestaque);
    $(".alterna-propaganda").click(alternaPropagandas);

};
$(aposInicializado);
umaPropaganda().insertAfter($(this)); --> Esse this é a própria tr?

Por favor fale mais um pouco sobre o this, às vezes eu acabo me perdendo um pouco.

Obrigado

3 respostas
solução!

Opa, o this é relativo a quem invoca a função. No caso, quando você passa um callback para uma função do jquery, o próprio jquery chama esse callback passando o objeto dele como referência(this). O this sempre vai apontar alguém, agora saber quem não dá.. vai depender da biblioteca que você esteja utilizando e tal.

Olá!

Apenas para complementar, no seu caso o "$(this)" vai ser o objeto do jQuery correspondente aquela "tr".

Neste mesmo caso, se você quiser o elemento HTML do DOM em si, pode usar simplesmente "this" ou "$(this)[0]".

Além disse, experimente adicionar "console.log($(this));" logo abaixo daquela linha, aí você verá com os próprios olhos o que ele representa.

Espero ter ajudado.

Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software