Nested jQuery.each () - Fortsetzen / Unterbrechen
Betrachten Sie den folgenden Code:
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;
}
});
});
Der interessante Teil sind die verschachtelten jQuery.each () - Schleifen. Gemäßdie Dokumentatioenn Sie @ zurückgeben, wird die Schleife abgebrochen (die Ausführung der Schleife wird abgebrochen - ähnlich wie bei einer normalen JavaScript-Anweisung break), und wenn Sie nicht false zurückgeben, wird die aktuelle Iteration gestoppt und die nächste Iteration fortgesetzt (ähnlich wie bei einer normalen JavaScript-Anweisung continue) ).
Ich kann eine jQuery.each () alleine unterbrechen oder fortsetzen, aber mit geschachtelter jQuery.each habe ich es schwierig gefunden, aus der übergeordneten Schleife innerhalb der untergeordneten Schleife auszubrechen. Ich könnte einen booleschen Wert verwenden und ihn bei jeder untergeordneten Iteration aktualisieren, aber ich habe mich gefragt, ob es einen einfacheren Weg gibt.
Ich habe eingerichtet ein Beispiel bei jsFiddle wenn du damit rumspielen möchtest. Klicken Sie einfach auf die Schaltfläche "Test", um das oben gezeigte Beispiel auszuführen.
TLDR: Gibt es im Kontext von jQuery etwas, das einem markierten continue oder break ähnelt?