如何满足条件时退出$ .each函数

时间:2010-06-29 15:36:43

标签: jquery

如果满足条件,我如何退出$.each循环?我不想再进一步迭代这个集合。

$(vehicles).each(function() {
    if (this["@id"] === vehicleId[0]) {
      vehicle = this;
    }
});

我试过break;& return;语句,但看起来执行并不会在此时停止。任何想法都将不胜感激。

3 个答案:

答案 0 :(得分:15)

返回false相当于突破$ .each循环。所以在你的例子中:

   if (this["@id"] === vehicleId[0]) { vehicle = this; return false; }

答案 1 :(得分:5)

您需要明确

return false;

http://api.jquery.com/each/

答案 2 :(得分:0)

由于.each()遍历一个包装集并在每个元素上执行给定函数,break不会影响实际迭代。但是,只需调用

,即可完成无需迭代的操作
vehicle = $('#' + vehicleId[0], $(vehicles));

或(正如Kobi在评论中所建议的那样)

vehicle = $(vehicle).filter('#' + vehicleId[0]);