Как выйти из mootools каждый () - PullRequest
9 голосов
/ 11 мая 2010

Как я могу выйти из каждой функции, когда условия выполнялись один раз?

Это не работает:

  $$('.box div').each(function(e) {
 if(e.get('html') == '') {
    e.set('html', 'test');
    exit;
 }
  });

Ответы [ 2 ]

14 голосов
/ 11 мая 2010

Использование .some?

  $$('.box div').some(function(e) {
     if(e.get('html') == '') {
        e.set('html', 'test');
        return true;
     } else
        return false;
  });

Но, вероятно, вы могли бы просто использовать

  arr = $$('.box div[html=""]');
  if (arr.length > 0)
     arr[0].set("html", "test");
1 голос
/ 11 мая 2010

Просто throw что-то и catch это выше:

try {
  $$('.box div').each(function(e) {
    if(e.get('html') == '') {
      e.set('html', 'test');
      throw "break";
    }
  });
} catch (e) {
  if(e != "break") throw e;
}

Но гораздо лучше было бы использовать комбинацию .every и .some.

...