从 .each 方法缓存是否好



我想做这样的事情:

cache = [];
jQuery("#selector1 .class").each(function(index, item) {
    cache.push({'index': index, 'item': item});
});

问题是,如果我稍后console.log它们,它似乎很好,但这仍然不起作用:jQuery(cache[0].item).fadeOut();但没有发生错误消息。但是由于有对象,我认为缓存方法本身很糟糕。因此,我们存储一个在该.each函数中本地给定的对象。当然,该项目总有一天会消失,只剩下它的参考。那么如何存储该对象呢?

好的,我只是尝试并尝试记录存储的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>

最新更新