Ir para conteúdo

Arquivado

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

horacio2009

jquery não escreve no elemento

Recommended Posts

bom dia a todos, pessoal, não consigo fazer o jquery escrever dentro do elemento ".texto" quando dá sucesso na função ajax...

onde que tá o erro???quando escrevo a primeira vez, ele funciona, na segunda, não funciona ...

obs.: o console.log é escrito corretamente tbm..

o código é esse:




$(document).ready(function () {
$('.comentarios').click(function () {
$(this).siblings('.texto').prepend("<div>inicio da funcao<div>");
$.ajax({
method: 'get',
url: url_destino,
dataType: 'html',
success: function (retorno) {
console.log(retorno);
$(this).siblings('.texto').prepend("<div> info</div>");
}
});
});



obrigado a todos pela atenção!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

O motivo do erro e que está usando "this" em outro escopo.

success: function (retorno) {
    console.log(retorno);
    
    // ERRO AQUI ao utilizar $(this) 
    $(this).siblings('.texto').prepend("<div> info</div>");
}

Atualize para:

$('.comentarios').click(function () {
    // Correto para utilizar lá no retorno
    var _this = $(this);
    
    _this.siblings('.texto').prepend("<div>inicio da funcao<div>");
    
    $.ajax({
        method: 'get',
        url: url_destino,
        dataType: 'html',
        success: function (retorno) {
            console.log(retorno);
            
            // Utilizando variável _this ao invés de $(this)
            _this.siblings('.texto').prepend("<div> info</div>");
        }
    });
});

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.