首页 > 解决方案 > 使用 Javascript 搜索 a 中的所有文本

问题描述

我正在尝试创建一个输入字段来搜索无序列表元素中的文本。我有它的工作,但它只搜索 li 中的第一个单词。

我怎样才能让它搜索所有单词?

        var input = document.getElementById("input");
        input.onkeyup = function () {
          var filter = input.value.toUpperCase();
          var lis = document.getElementsByTagName("li");
          for (var i = 0; i < lis.length; i++) {
            var name = lis[i].getElementsByClassName("name")[0].innerHTML;
            if (name.toUpperCase().indexOf(filter) == 0)
              lis[i].style.display = "list-item";
            else lis[i].style.display = "none";
          }
        };
<input type="text" id="input" placeholder="Search for something..." />

<ul>
<li><h3 class="name">Walking on the moon</h3></li>
<li><h3 class="name">Visiting the zoo</h3></li>
<li><h3 class="name">Freshly baked bread</h3></li>
</ul>

例如,我如何搜索月亮、动物园和面包,并在搜索时显示那些 li 的节目?

标签: javascript

解决方案


推荐阅读