javascript - [变量] .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]。这可能是一个愚蠢的问题,但请帮助我理解。
解决方案
首先,没有愚蠢的问题,只有愚蠢的答案。
在您的代码中,您会获得一个存储在名为“btns”的数组中的 DOM 元素列表,然后使用循环对其进行迭代。
因此,btns[i]
允许您检索该i
位置的元素(重要的是要注意数组在 Javascript 中从 0 开始)。
例子:
var fruits = ['Apple', 'Banana'];
console.log(fruits[0])
console.log(fruits[1])
因此,如果您不使用,[i]
您将迭代数组本身而不是存储在其中的元素。
推荐阅读
- java - 按下子活动中的向上按钮时,父活动中的 savedInstanceState 为空
- java - 单向关联比双向关联更抽象吗?
- blockchain - 当智能合约交易发生时谁支付?
- tfs - vstest.console.exe - 通过命令行指定输出文件位置
- java - Java将字符串扩充为字符串
- angular - 没有名称的表单控件的值访问器:''
- api - sharepoint 2010 GetFolderByServerRelativeUrl 不起作用
- python - python如何从数据库中获取按钮名称
- android - Android Studio:对齐
- xamarin - 未找到命名空间上的类型的 Xamarin Forms 默认构造函数。ShowOverlay