I was testing with parent() and closest(), none work within function.
TD stays the same, no change using this method:
$.get('form.php', function(data){
alert(data);
$(this).closest('td').html('Done!');
});
TD gets updated, this method works:
$.get('form.php', function(data){
alert(data);
});
$(this).closest('td').html('Done!');
Can you please help me figure out why does closest('td')
not working within callback function?
Your this
inside of the callback function has another scope than the this
on the outside. You need to do something like this:
var self = this;
$.get('form.php', function(data) {
alert(data);
$(self).closest('td').html('Done!');
});
You can use jQuery's .proxy()
-function to achieve the desired effect, too, like patrick dw pointed out in his post. I recommend reading through this document.
You can use jQuery's $.proxy
method for the second argument for $.get()
to retain the desired value of this
.
$.get('form.php', $.proxy(function(data) {
alert(data);
$(this).closest('td').html('Done!');
}, this));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With