Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery Javascript传递父对象的方式如下_Javascript_Jquery_Object_Closures - Fatal编程技术网

jQuery Javascript传递父对象的方式如下

jQuery Javascript传递父对象的方式如下,javascript,jquery,object,closures,Javascript,Jquery,Object,Closures,我想将当前调用的对象及其当前设置的参数传递给闭包函数。一般来说,我不知道如何做到这一点,但我认为jQuery又增加了一层混乱,因为它引用了一个元素 例如: jQuery插件 (函数($){ $.fn.addContentType=函数(obj){ var name=“这只是一个示例”; obj.func.call(this);//您可以使用.apply()传递原始函数调用的上下文和参数: obj.func.apply(this, arguments); 对于.apply()和参数对象。您可以从

我想将当前调用的对象及其当前设置的参数传递给闭包函数。一般来说,我不知道如何做到这一点,但我认为jQuery又增加了一层混乱,因为它引用了一个元素

例如:

jQuery插件
(函数($){
$.fn.addContentType=函数(obj){
var name=“这只是一个示例”;
obj.func.call(this);//您可以使用
.apply()
传递原始函数调用的上下文和参数:

obj.func.apply(this, arguments);

对于
.apply()
参数
对象。

您可以从jQuery选择器获得DOM元素,如下所示:

$("#elem").get(0);


有关详细信息(如果需要)

要将
name
作为jQuery对象的属性访问,需要添加它,而不是使用变量

this.name = "this is just an example";
obj.func.call(this);

或者使用变量将值传递给函数:

var name = "this is just an example";
obj.func.call(this, name);
并在另一端接收:

func:function( name ){
   console.log( name ); //<--Expect "this is just an example"
}

…但是您仍然需要传递参数,除非您将值作为属性分配给
obj

,否则您无法获取局部变量。
name
只是
addContentType
中的局部变量。另一方面,此
引用
jQuery(“someelement”)选择的所有元素
。因此,
这个.name
jQuery(“#someelement”)相同。name
@Felix:正确。我在一开始就提到过。我问是否有方法传递一个“this”来引用对象本身。你指的是哪个对象?所选元素?还是jQuery对象?如果选择了多个元素怎么办?
this.name = "this is just an example";
obj.func.call(this);
var name = "this is just an example";
obj.func.call(this, name);
func:function( name ){
   console.log( name ); //<--Expect "this is just an example"
}
obj.func.call(obj, name);