2016-01-03 4 views
2

Я с трудом в перескакивая через нулевые значения при использовании .innerHTML у меня есть что-то вроде этого:пропуска через нулевые значения в innerHTML

var inputLastIndexValue = document.getElementById("FileCount").innerHTML; 
var inputArray = []; 

for(var indexCounter = 0; indexCounter <= inputLastIndexValue; indexCounter++){ 
    var elementID = indexCounter + ".File"; 
     console.log("ElementID: " + elementID); 

     if(document.getElementById(elementID).innerHTML) 
     { 
      inputArray[indexCounter] = document.getElementById(elementID).innerHTML;; 
      console.log(inputArray[indexCounter] + ":" + indexCounter); 

     } 

То, что я пытаюсь выполнить получает имена файлов, которые я загрузить для заполнения массива, в котором я могу выполнить поиск. Я знаю, что этот скрипт останавливается и бросает нулевую ошибку при попытке найти то, чего не существует.

ответ

3

Как вы пытаетесь сказать, вы не можете получить доступ к document.getElementById(elementID).innerHTML, если document.getElementById(elementID) - null.

Вам нужно проверить, существует ли сам элемент.

+0

Здесь стоит отметить, что в javascript последующие сравнения игнорируются, если предыдущие являются истинными. Таким образом, вы можете запустить сравнение, чтобы увидеть, является ли внешний NULL &&, а затем проверить, является ли внутренний значением null в одном и том же операторе if, и никакая ошибка null не срабатывает, если внешняя является нулевой, если вы проверяете их в этом в том же заявлении. – joshstrike

+0

@joshstrike: Однако его 'innerHTML', вероятно, никогда не будет пустым. – SLaks

+0

Вы имеете в виду проверить это, изменив код таким образом? 'if (typeof document.getElementById (elementID)! = 'undefined' && document.getElementById (elementID) .innerHTML)' – Popnoodles