How to exit mootools each()
-
25-09-2019 - |
Question
How can I exit the each function when the conditions was true once?
This does not work:
$$('.box div').each(function(e) {
if(e.get('html') == '') {
e.set('html', 'test');
exit;
}
});
Solution
Use .some
?
$$('.box div').some(function(e) {
if(e.get('html') == '') {
e.set('html', 'test');
return true;
} else
return false;
});
But probably you could just use
arr = $$('.box div[html=""]');
if (arr.length > 0)
arr[0].set("html", "test");
OTHER TIPS
Just throw
something and catch
it higher:
try {
$$('.box div').each(function(e) {
if(e.get('html') == '') {
e.set('html', 'test');
throw "break";
}
});
} catch (e) {
if(e != "break") throw e;
}
But using a combination of .every
and .some
would be a far better idea.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow