jQuery 集合缓存

发布于 2024-09-29 02:23:43 字数 330 浏览 3 评论 0原文

有谁知道缓存选择器返回的对象集合的好方法。

var $platforms = $(".platforms");    
var i = 0, l = $platforms.length, current;

for(;i<l;i++) {
    current = $($platforms[i]); //calling jQuery() in a loop. Should be cached
}

上面的代码为 $(".platform") 返回的每个元素创建了一个 jQuery 实例(当它应该被缓存时)。有什么简单的方法可以做到这一点吗?

Does anyone know a good way to cache a collection of objects returned by a selector.

var $platforms = $(".platforms");    
var i = 0, l = $platforms.length, current;

for(;i<l;i++) {
    current = $($platforms[i]); //calling jQuery() in a loop. Should be cached
}

The above code creates a jQuery instance of each element returned by $(".platform") when it should be cached. Is there any easy way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等待我真够勒 2024-10-06 02:23:43

要从字面上获取元素的 jQuery 包装器数组,您可以使用 .map()< /a> 像这样:

var $platforms = $(".platforms").map(function() { return $(this); }).get();

然后在你的 for 循环中 $platforms[i] 将是一个 jQuery 对象。


这取决于你想要什么,有 .each() 类似this:

$(".platforms").each(function(i,elem) {
  var current = $(this);
});

或者使用 .eq() 获取 jQuery 包装元素循环中的索引,如下所示:

for(;i<l;i++) {
  current = $platforms.eq(1);
}

这完全取决于您想要的内容...为什么您要循环遍历元素?大多数 jQuery 操作对集合进行操作,而不是对单个元素进行操作,因此例如 $(".platforms").bind(...) 将绑定到所有元素找到选择器。

To literally get an array of jQuery wrappers of elements, you can use .map() like this:

var $platforms = $(".platforms").map(function() { return $(this); }).get();

Then in your for loop $platforms[i] will be a jQuery object.


It depends what you're after though, there's .each() like this:

$(".platforms").each(function(i,elem) {
  var current = $(this);
});

Or use .eq() to get a jQuery wrapped element at that index in your loop, like this:

for(;i<l;i++) {
  current = $platforms.eq(1);
}

It all depends on what you're after....why are you looping through the elements? Most jQuery operations operate on sets, not individual elements, so for example $(".platforms").bind(...) would bind to all of the elements that selector found.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文