我对javascript / jquery很新,但还不太了解它。我正在尝试使用jquery学习下拉菜单,我发现了这个w3school教程,但是,我似乎无法理解代码的某些部分http://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_js_dropdown
我的意思是我完全理解这一切
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
我知道for循环是什么以及它是如何工作的但我不明白i
在html文件的div中是如何工作的。例如,var dropdowns
中包含一个类dropdown-content
的div。然后这个var用在一个带有length属性的for循环中,但是我不明白那个var的长度是什么。它是1吗?那么var openDropdown = dropdowns[i]
这一行呢? var i
为0
但是从var下拉菜单中需要做什么?
答案 0 :(得分:2)
var dropdowns = document.getElementsByClassName("dropdown-content");
这将返回一个可以使用索引进行迭代的对象(为0,1 ...取决于返回的匹配元素的数量...)
同样,当i的值初始化为0时...使用下拉[i]将完全变为下拉[0],如果你有更多匹配它也将完成工作而不是再次写同样的东西..
希望这有助于......:D