3
respostas

Selecionar elemento atrave do $(this)

Boa tarde,

estou com dificuldade em selecionar um elemento que é irmão do meu pai, vou exemplificar.

estrutura HTML:

<div class="right-box-items">
        <span class="text-inform-itens">R$<span class="vli">${item.produto.preco}</span></span>

                        <div class="btns-box-car">
                            <div class="box-btn menos">
                                <spam class="simbol-box">-</spam>
                            </div>
                            <input type="text" class="qtn-car" value="${item.quantidade}">
                            <input type="hidden" class="id" value="${item.produto.id}">
                            <div class="box-btn mais">
                                <spam class="simbol-box">+</spam>
                            </div>
                        </div>

                        <span class="text-inform-itens">R$<span class="vl">${pedido.getValorTotalItem(item)}</span></span>

                    </div>

eu tenho um evento de clique na minha classe mais, e depois de executar meu código ele alteraria o valor da classe vl para fazer isso estou usando o seguinte comando.

$(this).parent().parent().find(".vl").html(resultado);

mas não funciona, ao meu ver estou indo até o topo da estrutura e estou fazendo a busca. O que está errado?

obrigado.

3 respostas

Oi Gabriel, pelo seu código não deu pra entender muito bem, o this tá referenciando quem? Onde está esse .v1 ??

Wanderson consegui resolver fazendo isso.

var $this = $(this);

e depois usei a mesma variável $this, sinceramente não sei qual a diferença.

quanto a suas perguntas o this era esse elemento :

<div class="box-btn mais">
    <spam class="simbol-box">+</spam>
</div>

e o .vl era o ultimo <spam> :

<span class="text-inform-itens">
R$<span class="vl">${pedido.getValorTotalItem(item)}</span></span>

talvez você não visualizou pois esta com mais de uma classe esses elementos.

obrigado.

O this é muito dinâmico Gabriel, quando você faz essa atribuição como fez, você guarda uma referência para quem ele está se referindo naquele momento. Por isso funcionou!

Confesso que ainda ficou um pouco confuso pra mim, mas já que resolveu, parabéns! Faz só uma mudança. Mudam o spam para span, não existe tag spam.