Javascript Can';按indexOf()搜索数组
我尝试将一系列具有相同类的DOM元素放入数组中,然后尝试使用.indexof()查找其中一个元素所在的索引。然而,它似乎不起作用。我写错什么了吗?或者应该有其他方法可以找到数组中元素的索引 下面是一段代码Javascript Can';按indexOf()搜索数组,javascript,Javascript,我尝试将一系列具有相同类的DOM元素放入数组中,然后尝试使用.indexof()查找其中一个元素所在的索引。然而,它似乎不起作用。我写错什么了吗?或者应该有其他方法可以找到数组中元素的索引 下面是一段代码 window.onload = function(){ var addBtn = document.querySelectorAll(".add"); for(var i = 0; i < addBtn.length; i++){ addBtn[i].on
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);
}
}
window.onload=function(){
var addBtn=document.querySelectorAll(“.add”);
对于(变量i=0;i
它一直告诉我“uncaughttypeerror:digits.indexOf不是一个函数”
querySelectorAll
返回a,它是一个类似数组的对象,而不是实际数组。它没有方法的索引
你可以:
在数组上强制转换数组方法,例如byarray.prototype.indexOf.call(digits,…)
通过array.from(数字)
生成一个实数组
indexOf
是array
的原型,而不是doElement节点列表的原型@雷昂达布或乔纳坦洛诺夫斯基哦,是的!或[…位]
(ES6)