学习如何创建搜索菜单以过滤链接

时间:2019-12-10 13:15:21

标签: javascript

我正在使用w3schools示例,在下面的代码中,我试图了解代码上的这一行的含义

a = li[i].getElementsByTagName("a")[0];

还有

li[i].style.display = "";

这是完整的代码:

function myFunction() {
  // Declare variables
  var input, filter, ul, li, a, i;
  input = document.getElementById("mySearch");
  filter = input.value.toUpperCase();
  ul = document.getElementById("myMenu");
  li = ul.getElementsByTagName("li");

  // Loop through all list items, and hide those who don't match the search query
  for (i = 0; i < li.length; i++) {
    a = li[i].getElementsByTagName("a")[0];
    if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
      li[i].style.display = "";
    } else {
      li[i].style.display = "none";
    }
  }
}

1 个答案:

答案 0 :(得分:1)

a = li[i].getElementsByTagName("a")[0];

获取当前迭代中<a>元素的第一个<li>标签。

li[i].style.display = "";

清除当前迭代中display元素的<li>样式属性。