更简单的方法来限制.each()循环中的条目
Simpler way to limit entries in a .each() loop
我一直想知道是否有一个好的,jquery风格的方法来做以下事情:
var count = 0;
$("p").each(function() {
if (count >= 5)
return false;
$(this).toggleClass("highlight");
count++;
});
是否有一个类似的功能,作为each()
在jQuery中,将允许我设置多少项的限制,它将循环,或者这是最好的方式做的事情?
最简单的是.slice
:
$("p").slice(0, 5).toggleClass("highlight");
// only <p>s from index 0 (inclusive) to 5 (exclusive)
看看slice()
。这将拆分$("p")
返回的数组,以便与.each()
一起使用:
$("p").slice(0, 4).each(function() {
// Do stuff
});
.slice()
以起始索引和结束索引作为参数。在上面的例子中,我们从第一个数组元素(索引为0)开始,并返回索引为4的下5个元素。
您可以简单地限制所选择的元素:$("p:lt(5)").toggleClass("highlight");
对你有用吗?
$("p").each(function(index){
if (index >4)
{
return false;
}
...
});
另一种写法是使用filter
:
$("p").filter(function(index) { return index < 5 }).toggleClass("highlight");
使用for循环重复循环一定次数(事先知道)。如果不知道重复的次数,则使用while循环(或each -函数式编程中的类似方法)
var i;
for (i = 0; i < 6; i += 1) {
$("p")[i].toggleClass("highlight");
}
相关文章:
- 如何将密钥与 JQuery $.each 循环中的字符串进行比较
- Nodejs async.each 等待第一个循环
- jquery .each 循环来执行每个数组项,它们之间有延迟
- 无法从 .each 循环加载谷歌地图上的两个标记
- 停止代码,直到 AJAX 调用在 $.each 循环中完成
- _.each不会循环通过localStorage
- 如何在jquery中从$.each循环创建对象数组
- 如何在每个元素上循环调用jquery.each的数组
- 在.each()循环中的ajax完成后,Jquery运行代码
- 使用For each循环-jquery创建变量
- 跳过 $.each 循环中的 JSON 数组值
- .each循环以更改网格内Anchor标记的href
- Javascript:在_.each循环中对解析的JSON进行排序
- 使用 .each 循环遍历 Backbone View 中具有相同类的元素
- jQuery 循环 .each() JSON 键/值不起作用
- jQuery .each 循环一次一个
- 如何删除 FOR EACH 循环中的第一个和最后一个值
- 使用 .each 循环遍历路径 D3
- 如何将Ember.Object实例与 #each 循环一起使用
- 带有 .append() 的内部 .each()-循环