有没有办法在回调函数中获取$('#div')?$('#div')更改
var param = { a: 'haha' } $('#div').load('/foo.html', param, foo()) function foo() { var div = caller? // this variable should be "$('#div')[0]" }
djmepvbi1#
this将是调用.load的元素,例如:
this
.load
$('#div').load('/foo.html', param, function() { $(this).show() })
您对问题的编辑将转换为:
var fooResult = foo(); $('#div').load('/foo.html', param, fooResult);
因此,在本例中,不会,因为foo()将已经被调用。
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
2条答案
按热度按时间djmepvbi1#
this
将是调用.load
的元素,例如:您对问题的编辑将转换为:
因此,在本例中,不会,因为foo()将已经被调用。
bqujaahr2#
根据文件:https://api.jquery.com/load/#load-url-data-complete
对于jQuery集合中的每个元素,都会触发一次回调,并依次为每个DOM元素设置
this
。因此: