【发布时间】:2019-09-25 18:11:44
【问题描述】:
这是我的 HTML 代码
var link = document.getElementsByClassName("link");
for (i = 0; i < link.length; i++) {
link[i].addEventListener("click", click);
function click() {
console.log(link.indexOf(this));
}
}
<div class="links">
<ul>
<li>
<div class="hole-counter"><span></span></div><a class="link">Home</a>
</li>
<li>
<div class="hole-counter"><span></span></div><a class="link">About</a>
</li>
<li>
<div class="hole-counter"><span></span></div><a class="link">Gallery</a>
</li>
<li>
<div class="hole-counter"><span></span></div><a class="link">Contact</a>
</li>
</ul>
</div>
这是javascript代码
我在控制台中收到此错误 未捕获的 TypeError:link.indexOf 不是 HTMLAnchorElement.click (index.html:97) 处的函数
【问题讨论】:
-
HTMLCollections 不是数组。您必须先将它们转换为数组,然后才能对它们使用数组方法。
-
es6 =
var link = [...document.getElementsByClassName('link')]或仅使用 Array.from -
谢谢,现在可以使用了
标签: javascript