Я попытался поместить ряд элементов DOM, имеющих один и тот же класс внутри массива, а затем попытаться найти, какой индекс является одним из них, расположенным с помощью .indexof(). Однако похоже, что он не работает. Я что-то написал неправильно? Или должны быть другие способы, чтобы я мог найти индекс элемента в массиве?Не удается найти массив по indexOf()
Вот небольшой фрагмент кода
window.onload = function(){
var addBtn = document.querySelectorAll(".add");
for(var i = 0; i < addBtn.length; i++){
addBtn[i].onclick = addTime;
}
};
function addTime(){
var update = parseInt(this.parentElement.getElementsByTagName("SPAN")[0].innerHTML) + 1;
var digits = this.parentElement.parentElement.querySelectorAll(".digit");
if(digits.indexOf(this.parentElement) % 2){ //Uncaught TypeError: digits.indexOf is not a function
}else{
carryOn(this, update);
}
}
Это просто продолжает говорить мне, что «Uncaught TypeError: digits.indexOf не является функция».
'indexOf' является прототипом' array' не 'DOMElement Nodelist' – Rayon
' [] .slice.call (цифр) 'может помочь! – Rayon
@RayonDabre Или ['Array.from (цифры)'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from) –