Допустим есть такой код.
for (i = 0; i < arr.length ; i++) var k = arr[i].querySelectorAll(".special")[0].textContent;
TypeError: arr.querySelectorAll(...)[0] is undefined, line ... (Error code: -991)
При этом, код работает, когда условия сайта подстраиваются под
try{ //code that causes an error }catch(e){ functionToHandleError(e); } //continue from here
код публикуется в тегах code под спойлером
замечание
[i]InfSub
Отредактировано S1m0n (17-02-2018 14:15:24)
Отсутствует
Пытался добавить проверку в цикл, но всё равно ошибка.
InfSub
Отредактировано S1m0n (17-02-2018 14:42:48)
Отсутствует
Логично пару проверок сделать. Как вариант, так
var arr = content.document.querySelectorAll("selector"); if (arr.length === 0) { alert("Найдено эл-ов = " + arr.length); }//На случай если массив пуст for (i=0;i<arr.length;i++) { var parse = arr[i].querySelectorAll(".special"); if (parse.length === 0) { alert(parse);//Если не найдёт эл-ов с классом special } else { alert(parse[0].textContent);//Если найдёт эл-ты с классом special применяем .textContent } }
или вообще менять подход
Отсутствует