Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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
Javascript 从数组中检索jQuery元素_Javascript_Jquery - Fatal编程技术网

Javascript 从数组中检索jQuery元素

Javascript 从数组中检索jQuery元素,javascript,jquery,Javascript,Jquery,我将jQuery元素存储在一个数组中,需要检索它们 我现在就这样做 var arr = []; arr.push( $(someElement) ); 然后,我尝试通过执行以下操作来检索它: arr.indexOf($(someElement)); 但它不起作用,因为所有jQuery元素看起来都是相同的e.fn.e.init[1] 我不想一一命名(键),因为我有很多元素,如果我能以类似的方式引用它们,对我来说会更好 您将如何执行此操作?为什么要将jQuery对象存储在数组中?您不能保存j

我将jQuery元素存储在一个数组中,需要检索它们

我现在就这样做

var arr = [];

arr.push( $(someElement) );
然后,我尝试通过执行以下操作来检索它:

arr.indexOf($(someElement)); 
但它不起作用,因为所有jQuery元素看起来都是相同的
e.fn.e.init[1]

我不想一一命名(键),因为我有很多元素,如果我能以类似的方式引用它们,对我来说会更好


您将如何执行此操作?

为什么要将jQuery对象存储在数组中?您不能保存jQuery对象以保留其状态,因为jQuery对象只是选择器选择的DOM元素的包装。如果DOM发生更改,那么jQuery对象将反映这些更改。如果要保留旧值,应该存储要保留的属性,而不是整个jQuery对象。或者,也可以将jQuery字符串存储在数组中:

var arr = [];

arr.push(someElement);
需要时,您可以查询元素是否仍包含在数组中

 if (arr.indexOf(someElement)){
    $(someElement).dostuff......
 }

为什么要将jQuery对象存储在数组中?您不能保存jQuery对象以保留其状态,因为jQuery对象只是选择器选择的DOM元素的包装。如果DOM发生更改,那么jQuery对象将反映这些更改。如果要保留旧值,应该存储要保留的属性,而不是整个jQuery对象。或者,也可以将jQuery字符串存储在数组中:

var arr = [];

arr.push(someElement);
需要时,您可以查询元素是否仍包含在数组中

 if (arr.indexOf(someElement)){
    $(someElement).dostuff......
 }

嗨--我想在输入上保留对错误验证系统元素的引用。如果输入不再有错误,我会把它拼接出来。如果它仍然有错误,那么它仍然在数组中,我仍然可以引用它们,使它们的边框颜色为红色,并对它们执行任何其他操作。在这种情况下,您不能只拥有一个包含
someElement
条目的数组,然后在需要引用它们时调用查询操作符
$
。非常感谢!以这种方式工作:-)嗨--我想在输入上为错误验证系统保留对元素的引用。如果输入不再有错误,我会把它拼接出来。如果它仍然有错误,那么它仍然在数组中,我仍然可以引用它们,使它们的边框颜色为红色,并对它们执行任何其他操作。在这种情况下,您不能只拥有一个包含
someElement
条目的数组,然后在需要引用它们时调用查询操作符
$
。非常感谢!这样做:-)