我想做这样的事情:
cache = [];
jQuery("#selector1 .class").each(function(index, item) {
cache.push({'index': index, 'item': item});
});
问题是,如果我以后再console.log
,它们似乎很好,但这仍然行不通:jQuery(cache[0].item).fadeOut();
,但是没有错误消息发生。
但是由于有对象,所以我认为缓存方法本身是不好的。因此,我们存储在该.each
函数中本地给定的对象。当然,该项目有一天会消失,仅保留其参考。那么如何存储该对象?
答案 0 :(得分:1)
好的,我刚刚尝试过,并尝试记录已存储的item
。这样可以完美地工作:
$(function () {
var cache = [];
$("ul li").each(function (index, item) {
cache.push({'index': index, 'item': item});
});
$(cache[0].item).fadeOut();
});
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>