首先,一些假的伪代码:
$("some-selector-logic").each(function() { if (someLogic($(this))) { return false; } // Otherwise do stuff related to $(this) }); someMoreExcitingCode();
在这个例子中,我们基于一些选择器逻辑获得DOM元素的集合,然后迭代每个元素.对于每个元素,我们调用someLogic().如果返回true,我们将中止每个循环.否则,我们对元素执行一些逻辑,然后继续前进到下一个元素.一旦我们完成了所有元素,我们继续并调用someMoreExcitingCode().
我想知道,在调用someMoreExcitingCode()之前,循环是否过早中止.显然你可以这样做:
var aborted = false; $("..").each(function() { if (someLogic($(this))) { aborted = true; return false; } });
但这对我来说感觉很草率,就像jQuery应该以另一种方式向我提供这些信息.是否有一种更为惯用的方法来实现这一点,我不知道呢?