У меня есть следующий кодUncaught TypeError: Не удается прочитать свойство «IndexOf» неопределенных в цикл
var results = ["img", "some_class"];
for (var i = 0; i <= results.length; i++){
if (results[i] === "input"){
elements = [];
} else if (results[i].indexOf("class") > -1){
className = results[i];
b = document.getElementsByClassName;
for (var i = 0; i < b.length; i++){
elements.push(b[i]);
}
} else if (results[i].indexOf("id") > -1){
id = results[i];
searchId = document.getElementById(id);
elements.push(searchId);
}
}
Я пытаюсь проверить, является ли какой-либо из элементов в results
массива содержат строки «класс» или «id», но я получаю Uncaught TypeError: Cannot read property 'indexOf' of undefined
Вы можете видеть, что массив results
действительно содержит «класс» внутри второго элемента, но мой код не играет в мяч.
Любая помощь будет высоко ценится :)
Вы не можете использовать 'i <= results.length' в цикле for, потому что массивы индексируются 0. Когда 'i'' '' '' 'results.length', вы вне пределов! – azium