考虑以下代码:
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上设置示例。只需单击“测试”按钮以运行上面显示的示例即可。
简而言之:在jQuery上下文中是否有类似于标记的continue或break的内容?
for
循环就可以实现你想要的效果 :) - Nick Craver