JavaScript:搜索功能,使用搜索栏输入删除无序列表元素
我有一个div.header和一个div.search,其中我的输入标记存在于我的call函数中。 我还有div.content和所有要搜索的元素。 它们位于不同的div标记中,但myjavascript的调用函数仅位于输入标记中。 问题是当我键入输入标记时,我的控制台告诉我: (21)Champions.htm:564未捕获类型错误:li.getElementsByClassName不是函数 at searchfunction(Champions.htm:564) 在HTMLInputElement.onkeyup(Champions.htm:39) 我正在寻找的解决方案是,当我键入特定的冠军名称时,如何使我的输入标记删除搜索元素。例如: 在输入标记中键入A应该删除所有带有与搜索条件不匹配的h3标记的元素 注意:我的h3标签是用特定的名称填写的。如果这些名称与搜索条件不匹配,则searchfunction()应该查找并从页面中删除这些名称 我不太喜欢JavaScript,所以我的大部分尝试都是徒劳的JavaScript:搜索功能,使用搜索栏输入删除无序列表元素,javascript,html,css,Javascript,Html,Css,我有一个div.header和一个div.search,其中我的输入标记存在于我的call函数中。 我还有div.content和所有要搜索的元素。 它们位于不同的div标记中,但myjavascript的调用函数仅位于输入标记中。 问题是当我键入输入标记时,我的控制台告诉我: (21)Champions.htm:564未捕获类型错误:li.getElementsByClassName不是函数 at searchfunction(Champions.htm:564) 在HTMLInputElem
function searchfunction() {
// Definiton af variabler
// Defining my variables
var input, filter, div1, div2, ul, li, element, h3, a, i, txtValue;
input = document.getElementById('s-input');
filter = input.value.toUpperCase();
ul = document.getElementById("s-output");
li = ul.getElementsByTagName('li');
element = li.getElementsByClassName('s-element');
h3 = element.getElementsByTagName('h3');
// Loop igennem alle elementer og gem dem som ikke matcher søgekriteriet
// Loop through all elements and hide the ones that doesn't match the criteria
for (i = 0; i < h3.length; i++) {
a = h3[i].getElementsByTagName("a")[0];
txtValue = a.textContent || a.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}
function searchfunction(){
//af变量的定义
//定义我的变量
无功输入,滤波器,div1,div2,ul,li,元素,h3,a,i,txtValue;
input=document.getElementById('s-input');
filter=input.value.toUpperCase();
ul=document.getElementById(“s输出”);
li=ul.getElementsByTagName('li');
element=li.getElementsByClassName('s-element');
h3=element.getElementsByTagName('h3');
//所有元素都有一个循环,这是一个很好的匹配
//循环遍历所有元素并隐藏与条件不匹配的元素
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
}
传说的地下室
-
厄薩斯
世界末日
描述:hes O.D。
-
阿赫里
九尾狐
描述:hes O.D。
-
阿卡利
无赖刺客
描述:hes O.D。
-
亞歷斯塔
牛头怪
描述:hes O.D。
-
阿姆谟
悲伤的木乃伊
描述:hes O.D。
-
艾妮維亞
低温凤凰
描述:hes O.D。
-
安妮
黑暗的孩子
描述:hes O.D。
-
阿什
冰霜弓箭手
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="utf-8">
<title>Basement Of Legends</title>
<link rel="stylesheet" href="style2.css">
<link rel="icon"
href="https://mmls.mmu.edu.my/wordpress/1161100407/wp-content/uploads/sites/33888/2017/01/052b0714815331.562895156726a.png">
<!-- Font libraries -->
<link href="https://fonts.googleapis.com/css?family=Arvo|Cinzel|Staatliches&display=swap" rel="stylesheet">
</head>
<body>
<main id="website">
<!-- Sidebar -->
<div class="sidebar">
<a class="linkbox" href="C:\Users\emils\OneDrive\Dokumenter\leaguesite\Frontpage.htm">
<div title="Go to frontpage" class="sitelinks">
<p class="linktext">Frontpage</p>
</div>
</a>
<a class="linkbox" href="C:\Users\emils\OneDrive\Dokumenter\leaguesite\Champions.htm">
<div title="Go to champions" class="sitelinks">
<p class="linktext">Champions</p>
</div>
</a>
<a class="linkbox" href="C:\Users\emils\OneDrive\Dokumenter\leaguesite\FAQ.htm">
<div title="Go to F.A.Q." class="sitelinks">
<p class="linktext">F.A.Q.</p>
</div>
</a>
</div>
<div class="container">
<!-- Website Head -->
<div class="header">
<div class="search">
<input title="Search for a specific element" onkeyup="searchfunction()" type="text" id="s-input"
placeholder="Search for elements..">
</div>
</div>
<!-- Content -->
<div class="content">
<div class="searchcontent">
<ul id="s-output">
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/aatrox-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Aatrox</h3>
<h5>the World Ender</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/ahri-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Ahri</h3>
<h5>the Nine-Tailed Fox</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/champion/square/akali.png"
alt="champion.png">
<div class="Profile">
<h3>Akali</h3>
<h5>the Rogue Assassin</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/alistar-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Alistar</h3>
<h5>the Minotaur</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/amumu-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Amumu</h3>
<h5>the Sad Mummy</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/anivia-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Anivia</h3>
<h5>the Cryophoenix</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/annie-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Annie</h3>
<h5>the Dark Child</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/ashe-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Ashe</h3>
<h5>the Frost Archer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/aurelion-sol-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Aurelion Sol</h3>
<h5>the Star Forger</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/azir-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Azir</h3>
<h5>the Emperor of the Sands</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/bard-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Bard</h3>
<h5>the Wandering Caretaker</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/blitzcrank-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Blitzcrank</h3>
<h5>the Great Steam Golem</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/brand-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Brand</h3>
<h5>the Burning Vengeance</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/braum-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Braum</h3>
<h5>the Heart of the Freljord</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/caitlyn-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Caitlyn</h3>
<h5>the Sheriff of Piltover</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/camille-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Camille</h3>
<h5>the Steel Shadow</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/cassiopeia-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Cassiopeia</h3>
<h5>the Serpent's Embrace</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/chogath-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Cho'gath</h3>
<h5>the Terror of the Void</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/corki-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Corki</h3>
<h5>the Daring Bombardier</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/darius-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Darius</h3>
<h5>the Hand of Noxus</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/diana-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Diana</h3>
<h5>Scorn of the Moon</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/dr-mundo-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Dr. Mundo</h3>
<h5>the Madman of Zaun</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/draven-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Draven</h3>
<h5>the Glorius Executioner</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/ekko-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Ekko</h3>
<h5>the Boy Who Shattered Time</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/elise-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Elise</h3>
<h5>the Spider Queen</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/evelynn-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Evelynn</h3>
<h5>Agony's Embrace</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/ezreal-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Ezreal</h3>
<h5>the Prodigal Explorer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/fiddlesticks-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Fiddlesticks</h3>
<h5>the Prodigal Explorer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/fiora-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Fiora</h3>
<h5>the Prodigal Explorer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/fizz-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Fizz</h3>
<h5>the Prodigal Explorer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/galio-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Galio</h3>
<h5>the Prodigal Explorer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/gangplank-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Gangplank</h3>
<h5>the Prodigal Explorer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/garen-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Garen</h3>
<h5>the Prodigal Explorer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
<li>
<div class="s-element">
<img class="pb" src="https://www.mobafire.com/images/avatars/gnar-classic.png"
alt="champion.png">
<div class="Profile">
<h3>Gnar</h3>
<h5>the Prodigal Explorer</h5>
</div>
<p>
Description: hes O.D.
</p>
</div>
</li>
</ul>
</div>
<!-- Content bund -->
<footer>
<ul class="footinfo">
<li><a class="foottext" target="_blank" href="">| Privacy Policy</a></li>
<li><a class="foottext" target="_blank" href="">| Sponsors</a></li>
<li><a class="foottext" target="_blank" href="">| e.t.c.</a></li>
</ul>
</footer>
</div>
</div>
<script>
function searchfunction() {
// Definiton af variabler
// Defining my variables
var input, filter, div1, div2, ul, li, element, h3, a, i, txtValue;
input = document.getElementById('s-input');
filter = input.value.toUpperCase();
ul = document.getElementById("s-output");
li = ul.getElementsByTagName('li');
element = li.getElementsByClassName('s-element');
h3 = element.getElementsByTagName('h3');
// Loop igennem alle elementer og gem dem som ikke matcher søgekriteriet
// Loop through all elements and hide the ones that doesn't match the criteria
for (i = 0; i < h3.length; i++) {
a = h3[i].getElementsByTagName("a")[0];
txtValue = a.textContent || a.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}
</script>
</body>
</html>
var items = document.querySelectorAll('#s-output li');
var profile = document.querySelectorAll('.Profile h3');
var searchbar = document.querySelector('.search input');
//Append the eventlistener
searchbar.addEventListener('keyup', searchfunction, false);
function searchfunction(_) {
//Value of the searchbar
var searchbarKeys = _.target.value.toLowerCase();
//Check if the title matches the current value of the searchbar
items.forEach(function(item, index) {
//toLowerCase to make it case insensitive (optional)
var title = profile[index].innerText.toLowerCase()
if (title.indexOf(searchbarKeys) > -1) {
item.style.display = 'block';
} else {
item.style.display = 'none';
}
});
}