从数组中检索jQuery元素

Retrieve a jQuery element from an array

本文关键字:jQuery 元素 检索 数组      更新时间:2023-09-26

我将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......
 }