【发布时间】:2019-06-25 23:25:51
【问题描述】:
我想做这样的事情:
cache = [];
jQuery("#selector1 .class").each(function(index, item) {
cache.push({'index': index, 'item': item});
});
问题是,如果我稍后console.log 他们,看起来不错,但仍然无法正常工作:jQuery(cache[0].item).fadeOut(); 但不会出现错误消息。
但是既然有对象,我觉得缓存方法本身就不好。因此,我们存储了一个在该 .each 函数中本地给出的对象。当然,该项目总有一天会消失,只剩下它的参考。那么如何存储该对象呢?
【问题讨论】:
-
很奇怪。理论上这应该有效。让我试试。
-
而且理论上存储引用不好,因为它后面的对象可以随时释放
-
您所拥有的应该(并且确实)可以正常工作。然而,这似乎在很大程度上是多余的,因为您已经可以通过索引访问 DOM 中的元素。很少有方法可以让我看到这种增加的复杂性会带来任何有价值的好处。