Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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>");
}
});
});
tente alterar