例如,
jQuery(function($){
var Bob = function(){
this.selector = '#container';
$( this.selector ).hide();
}
});
这是过于简单化,但我想要做的是将当前范围中的变量 this 传递给jquery。当然,我可以创建一个变量并使用它,
this.selector = '#container';
var mySelector = this.selector;
$( mySelector ).hide();
但似乎必须有一些更简单的方法来构建jQuery。
答案 0 :(得分:0)
您可以将DOM元素分配到局部变量并将其传递给您的函数:
var $selector = $('#mySelector');
Bob($selector);
var Bob = function($selector){
$selector.hide();
}
答案 1 :(得分:0)
调用函数时,可以使用.call()
传递特定的this
值。 MDN Docs
var $selector = $('#mySelector');
var Bob = function(){
$(this).hide();
}
现在,您使用.call()
的一些变体:
Bob.call($selector);
通过.call()
发送的第一个参数将作为this