首页 > 解决方案 > [变量] .AddEventListener 在 Javascript 中?

问题描述

我对编码很陌生。下面是一段我很难理解的 JS 代码:

var btnContainer = document.getElementbyId(“linkcontainer”);
var btns = btnContainer.getElementsbyClassName(“btn”);
for (var i = 0; i < btns.length; i++){
btns.addEventListener(“click”, function(){
var current = document.getElementsbyClassName(“active”);
current[0].className = current[0].className.replace(‘active’, “”);
 this.className += ‘active’;
});}

[i]有什么区别

btns[i].AddEventListener??

它到底是什么,如果括号之间没有“i”怎么办?也是当前[0]。这可能是一个愚蠢的问题,但请帮助我理解。

标签: javascriptaddeventlistener

解决方案


首先,没有愚蠢的问题,只有愚蠢的答案。

在您的代码中,您会获得一个存储在名为“btns”的数组中的 DOM 元素列表,然后使用循环对其进行迭代。

因此,btns[i]允许您检索该i位置的元素(重要的是要注意数组在 Javascript 中从 0 开始)。

例子:

var fruits = ['Apple', 'Banana'];

console.log(fruits[0])
console.log(fruits[1])

因此,如果您不使用,[i]您将迭代数组本身而不是存储在其中的元素。


推荐阅读