Поиск по ID возвращает ошибку - как справиться? - PullRequest
0 голосов
/ 18 июня 2010
    for (i=1; i<=4; i++) {
        try {
           timer = document.getElementById("timer"+i).parentNode.parentNode.parentNode.childNodes[1].childNodes[0].childNodes[0].className;
        }
        catch(e) {
           FM_log("aguardaReforcos()", "ERRO - timer"+i);
        }
    ...

Я должен сделать это с попыткой, потому что в противном случае я получаю сбой, когда он не находит document.getElementById("timer"+i).parentNode.parentNode.parentNode.childNodes[1].childNodes[0].childNodes[0].className

Есть ли другой способ предотвратить этот тип сбоя?

1 Ответ

2 голосов
/ 18 июня 2010

Вы можете использовать каждое из свойств по очереди, не вызывая сбоя, но код, конечно, будет содержать множество тестов:

var timer = document.getElementById("timer"+i);
if (timer) {
  timer = timer.parentNode;
  if (timer) {
    timer = parentNode;
    if (timer) {
      // and so on...
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...