Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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选定对象?_Jquery - Fatal编程技术网

如何在范围外使用jquery选定对象?

如何在范围外使用jquery选定对象?,jquery,Jquery,使用上述代码,我将把一个输入对象作为参数obj传递到函数foo。 我应该如何使用obj?我是否需要重新运行选择器,比如$(obj)来使用所有jquery特定的方法 还有一个问题:答案是我不需要再次用$()包装obj。如果我用$(obj)重新包装obj,会发生什么?(假设函数foo可以同时接受jquery选定对象和非jquery选定对象)您正在传递jquery对象,因此无需再次包装$() 您是否尝试在foo函数中运行jQuery函数 /* get every click event on inpu

使用上述代码,我将把一个输入对象作为参数
obj
传递到函数
foo
。 我应该如何使用
obj
?我是否需要重新运行选择器,比如
$(obj)
来使用所有jquery特定的方法


还有一个问题:答案是我不需要再次用$()包装
obj
。如果我用
$(obj)
重新包装
obj
,会发生什么?(假设函数
foo
可以同时接受jquery选定对象和非jquery选定对象)

您正在传递jquery对象,因此无需再次包装
$()

您是否尝试在
foo
函数中运行jQuery函数

/* get every click event on input tags and send it to foo */
$('input').click( function() {
   foo($(this));
});

function foo(obj) {
/* do something with obj.. */
}
还有一个问题:答案是我没有必要再用$()来包装obj。如果我用$(obj)重新包装obj会发生什么?(假设函数foo可以接受jquery选择的对象和非jquery选择的对象)


您只需执行
obj[0]
即可获得原始
对象

您正在传递jQuery对象,因此无需再次包装
$()

您是否尝试在
foo
函数中运行jQuery函数

/* get every click event on input tags and send it to foo */
$('input').click( function() {
   foo($(this));
});

function foo(obj) {
/* do something with obj.. */
}
还有一个问题:答案是我没有必要再用$()来包装obj。如果我用$(obj)重新包装obj会发生什么?(假设函数foo可以接受jquery选择的对象和非jquery选择的对象)


您只需执行
obj[0]
即可获得原始
对象

否。如果是jQuery对象,则可以使用jQuery方法,而无需再次使用$引用它。

否。如果是jQuery对象,则可以使用jQuery方法,而无需再次使用$引用它。

否,您已经在传递jQuery对象,因此无需重新包装。但由于jQuery事件处理程序在回调中将元素分配为
this
,因此可以这样编写:

$('input').click( function() {
   foo($(this));
});

function foo(obj) {
   console.log(obj.val()); //should print the value in the console.
}

不,您已经在传递jQuery对象,因此无需重新包装。但由于jQuery事件处理程序在回调中将元素分配为
this
,因此可以这样编写:

$('input').click( function() {
   foo($(this));
});

function foo(obj) {
   console.log(obj.val()); //should print the value in the console.
}

不,您可以从引用中再次使用对象,无需重新选择。

不,您可以从引用中再次使用对象,无需重新选择。

正确。使用
$()
选择器包装jQuery对象不会有任何伤害。如果您正在编写一个插件,它可以采用任何一种对象类型,那么最好用jQuery选择器包装它。@thkang它不应该导致任何硬的.Correct。使用
$()
选择器包装jQuery对象不会有任何伤害。如果您正在编写一个插件,它可以采用任何一种对象类型,那么最好使用jQuery选择器将其包装起来。@thkang它应该不会导致任何困难。