gpt4 book ai didi

javascript - 单击按钮时我得到 "indexOf is not a function",这是为什么?

转载 作者:行者123 更新时间:2023-11-30 08:31:33 28 4
gpt4 key购买 nike

我已经创建了一个简单的 html 和 javascript 文件,我试图在点击时获取元素索引,为什么我得到“indexOf 不是一个函数”?这是代码:

<button id="1">1</button>
<button id="2">2</button>
<button id="3">3</button>
<button id="4">4</button>
<button id="1">5</button>

<script>

var items = document.getElementsByTagName('button');
for(var i = 0; i < items.length; i++) {
items[i].addEventListener('click', function(){
var ind = items.indexOf(this);
console.log(ind);
});
}
</script>

最佳答案

indexOf 是一种在 Array 对象上找到的方法。

getElementsByTagName 返回一个实时 HTMLCollection,而不是一个数组。它在很多方面都类似于数组(例如,它具有数字索引属性和 length),但它不具备数组的所有属性。

您可以访问数组(或数组构造函数的原型(prototype))的 indexOf 属性并使用 .call()。 apply() 在 HTMLCollection 对象的上下文中使用它。

关于javascript - 单击按钮时我得到 "indexOf is not a function",这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37158935/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com