考虑以下代码:
var sentences = [
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
'Vivamus aliquet nisl quis velit ornare tempor.',
'Cras sit amet neque ante, eu ultrices est.',
'Integer id lectus id nunc venenatis gravida nec eget dolor.',
'Suspendisse imperdiet turpis ut justo ultricies a aliquet tortor ultrices.'
];
var words = ['ipsum', 'amet', 'elit'];
$(sentences).each(function() {
var s = this;
alert(s);
$(words).each(function(i) {
if (s.indexOf(this) > -1)
{
alert('found ' + this);
return false;
}
});
});
有趣的部分是嵌套的 jQuery.each() 循环。根据文档,返回 false 将跳出循环(停止执行循环 - 类似于正常的 JavaScript break 语句),返回非 false 将停止当前迭代并继续下一次迭代(类似于正常JavaScript continue 语句)。
我可以自行中断或继续 jQuery.each(),但使用嵌套的 jQuery.each,我发现很难从子循环中中断父循环。我可以使用布尔值,并在每次子迭代时更新它,但我想知道是否有更简单的方法。
如果您想弄乱它,我已经在 jsFiddle 设置了一个示例。只需单击“测试”按钮即可运行上面显示的示例。
TLDR:在 jQuery 的上下文中是否有任何类似于标记的 continue 或 break 的东西?