获取回调JQuery中的调用者

vu8f3i0k  于 2022-11-29  发布在  jQuery
关注(0)|答案(2)|浏览(196)

有没有办法在回调函数中获取$('#div')?$('#div')更改

var param = {
    a: 'haha'
}

$('#div').load('/foo.html', param, foo())

function foo() {
   var div = caller?  // this variable should be "$('#div')[0]"
}
djmepvbi

djmepvbi1#

this将是调用.load的元素,例如:

$('#div').load('/foo.html', param, function() { $(this).show() })

您对问题的编辑将转换为:

var fooResult = foo();
$('#div').load('/foo.html', param, fooResult);

因此,在本例中,不会,因为foo()将已经被调用。

bqujaahr

bqujaahr2#

根据文件:https://api.jquery.com/load/#load-url-data-complete
对于jQuery集合中的每个元素,都会触发一次回调,并依次为每个DOM元素设置this
因此:

var $div = $(this); // the jQuery object representing the div
var div = this; // the HTMLElement representing the div

相关问题