如何在JavaScript中应用来自多个div元素的过滤
我正在尝试学习如何在JavaScript中应用来自多个div元素的过滤,javascript,html,Javascript,Html,我正在尝试学习javascript过滤。但是有一些很好的例子可以从页面的列表元素中过滤,但是如何根据搜索输入过滤整个div 到目前为止,我已经完成了,但是我被卡住了,不知道如何继续,我希望你能帮助我学习这个过程,提前谢谢 这是最新版本,代码段如下所示: const searchBar=document.forms['search-books'].querySelector('input'); searchBar.addEventListener('keyup',函数(e){ const ter
javascript
过滤。但是有一些很好的例子可以从页面的列表元素中过滤,但是如何根据搜索输入过滤整个div
到目前为止,我已经完成了,但是我被卡住了,不知道如何继续,我希望你能帮助我学习这个过程,提前谢谢
这是最新版本,代码段如下所示:
const searchBar=document.forms['search-books'].querySelector('input');
searchBar.addEventListener('keyup',函数(e){
const term=e.target.value.toLocaleLowerCase();
const books=list.getElementsByTagName('h5');
数组.from(books).forEach(函数(books){
const title=book.firstElementChild.textContent;
if(title.toLowerCase().indexOf(term)!=-1){
book.style.display='block';
}否则{
book.style.display='none';
}
})
})
饥饿游戏
哈利·波特
您需要声明列表
元素,或者获取带有标签h5
的所有元素
由于要隐藏或显示元素,因此应使用给定文本将div的父级的父级作为目标
const searchBar=document.forms['search-books'].querySelector('input');
searchBar.addEventListener('keyup',函数(e){
const term=e.target.value.toLocaleLowerCase();
const books=document.getElementsByTagName('h5');
数组.from(books).forEach(函数(book){
const title=book.textContent;
if(title.toLowerCase().indexOf(term)!=-1){
book.parentElement.parentElement.style.display='flex';
}否则{
book.parentElement.parentElement.style.display='none';
}
})
})
饥饿游戏
哈利·波特
您需要声明列表
元素,或者获取带有标签h5
的所有元素
由于要隐藏或显示元素,因此应使用给定文本将div的父级的父级作为目标
const searchBar=document.forms['search-books'].querySelector('input');
searchBar.addEventListener('keyup',函数(e){
const term=e.target.value.toLocaleLowerCase();
const books=document.getElementsByTagName('h5');
数组.from(books).forEach(函数(book){
const title=book.textContent;
if(title.toLowerCase().indexOf(term)!=-1){
book.parentElement.parentElement.style.display='flex';
}否则{
book.parentElement.parentElement.style.display='none';
}
})
})
饥饿游戏
哈利·波特
您可以使用document.querySelectorAll('.container h5')
它将返回容器内的数组所有h5
标记
演示
const searchBar=document.forms['search-books'].querySelector('input'),
books=document.queryselectoral('.container h5');
searchBar.addEventListener('keyup',函数(e){
让term=e.target.value.toLocaleLowerCase();
books.forEach(el=>{
让title=el.innerText;
if(title.toLowerCase().indexOf(term)!=-1){
el.parentElement.parentElement.style.display='block';
}否则{
el.parentElement.parentElement.style.display='none';
}
})
})
饥饿游戏
哈利·波特
您可以使用document.querySelectorAll('.container h5')
它将返回容器内的数组所有h5
标记
演示
const searchBar=document.forms['search-books'].querySelector('input'),
books=document.queryselectoral('.container h5');
searchBar.addEventListener('keyup',函数(e){
让term=e.target.value.toLocaleLowerCase();
books.forEach(el=>{
让title=el.innerText;
if(title.toLowerCase().indexOf(term)!=-1){
el.parentElement.parentElement.style.display='block';
}否则{
el.parentElement.parentElement.style.display='none';
}
})
})
饥饿游戏
哈利·波特
Wow!谢谢。太完美了。也谢谢你的解释。哇!谢谢。太完美了。也谢谢你的解释。非常感谢你的努力和解释。非常感谢你的努力和解释。