我将jQuery元素存储在一个数组中,我需要检索它们。
我现在正在这样做
var arr = [];
arr.push( $(someElement) );
然后我尝试通过执行以下操作来检索它:
arr.indexOf($(someElement));
但它并不起作用,因为所有jQuery元素看起来都相同e.fn.e.init[1]
我宁愿不为每个人命名(键),因为我有很多元素,如果我能像我试图的那样引用它们,那对我来说会更好。
你会怎么做?
答案 0 :(得分:0)
为什么要将jQuery对象存储在数组中?您无法保存jQuery对象以保留其状态,因为JQuery对象只是选择器选择的DOM元素的包装器。如果DOM发生更改,那么这些更改将由jQuery对象反映出来。如果要保留旧值,则应存储要保留的属性,而不是整个jQuery对象。或者,您也可以将jQuery字符串存储在数组中:
var arr = [];
arr.push(someElement);
如果需要,您可以查询您的元素是否仍包含在数组中
if (arr.indexOf(someElement)){
$(someElement).dostuff......
}