在输入搜索框中清除时如何隐藏搜索结果?请只写JavaScript
在输入文本框内清除时,如何清除搜索结果?我在stackoverflow上尝试过这个答案-。不幸的是,它在这种特定的编码中不起作用在输入搜索框中清除时如何隐藏搜索结果?请只写JavaScript,javascript,list,search,filter,listitem,Javascript,List,Search,Filter,Listitem,在输入文本框内清除时,如何清除搜索结果?我在stackoverflow上尝试过这个答案-。不幸的是,它在这种特定的编码中不起作用 函数myFunction(){ var query=document.querySelector('#myInput').value; //这将从页面上的所有元素中获取所有元素 //但是,您需要仅为希望包含的元素指定唯一属性 var elements=document.querySelectorAll('li'); 对于(var i=0;ili.style.disp
函数myFunction(){
var query=document.querySelector('#myInput').value;
//这将从页面上的所有元素中获取所有- 元素
//但是,您需要仅为希望包含的元素指定唯一属性
var elements=document.querySelectorAll('li');
对于(var i=0;i
#我的输入{
背景图片:url('/css/searchicon.png');
背景位置:10px 12px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 10px;
边框:1px实心#ddd;
}
#myUL,#myUL2{
列表样式类型:无;
填充:0px;
边际:0px;
边缘顶部:10px;
}
#李妙儿,#李妙儿{
列表样式类型:无;
边框:1px实心#ddd;
填充物:5px;
背景色:#f6f6f6;
文字装饰:无;
字号:18px;
颜色:黑色;
边缘底部:5px;
}
#李妙儿,#李妙儿{
显示:无;
}
#myUL li a:悬停:非(.header),#myUL2 li a:悬停:非(.header){
背景色:#eee;
}
测试搜索
当清除搜索输入字段时,如何从搜索筛选器隐藏列表项
-
描述
另一种描述
- 党卫军
在应用决定显示哪些元素的过滤逻辑之前,可以重置所有元素。下面是一个例子:
函数myFunction(){
var query=document.querySelector('#myInput').value;
var elements=Array.from(document.querySelectorAll('li');
//重置所有元素。
elements.forEach(li=>li.style.display='none');
//显示包含查询文本的元素。
元素
.filter(li=>query&&li.innerText.indexOf(query)>=0)
.forEach(li=>li.style.display='block');
}
#我的输入{
背景图片:url('/css/searchicon.png');
背景位置:10px 12px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 10px;
边框:1px实心#ddd;
}
#myUL,#myUL2{
列表样式类型:无;
填充:0px;
边际:0px;
边缘顶部:10px;
}
#李妙儿,#李妙儿{
列表样式类型:无;
边框:1px实心#ddd;
填充物:5px;
背景色:#f6f6f6;
文字装饰:无;
字号:18px;
颜色:黑色;
边缘底部:5px;
}
#李妙儿,#李妙儿{
显示:无;
}
#myUL li a:悬停:非(.header),#myUL2 li a:悬停:非(.header){
背景色:#eee;
}
测试搜索
当清除搜索输入字段时,如何从搜索筛选器隐藏列表项
-
描述
另一种描述
- 党卫军
在显示或隐藏元素时,您可以检查查询是否已定义且不为空
if (query && el.innerText.indexOf(query) !== -1)
清除搜索框后,query
将为空,此条件的计算结果为false
,所有元素都将隐藏
现场示例:
函数myFunction(){
var query=document.querySelector('#myInput').value;
//这将从页面上的所有元素中获取所有- 元素
//但是,您需要仅为希望包含的元素指定唯一属性
var elements=document.querySelectorAll('li');
对于(var i=0;i
#我的输入{
背景图片:url('/css/searchicon.png');
背景位置:10px 12px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 10px;
边框:1px实心#ddd;
}
#myUL,#myUL2{
列表样式类型:无;
填充:0px;
边际:0px;
边缘顶部:10px;
}
#李妙儿,#李妙儿{
列表样式类型:无;
边框:1px实心#ddd;
填充物:5px;
背景色:#f6f6f6;
文字装饰:无;
字号:18px;
颜色:黑色;
边缘底部:5px;
}
#李妙儿,#李妙儿{
显示:无;
}
#myUL li a:悬停:非(.header),#myUL2 li a:悬停:非(.header){
背景色:#eee;
}
测试搜索
当清除搜索输入字段时,如何从搜索筛选器隐藏列表项
-
描述
另一种描述
- 党卫军
您可以通过添加以下三行来实现这一点:
let status = query === "" ? "none" : "block" //If input value is empty, set to "none"
document.querySelector("#myUL").style.display = status;
document.querySelector("#myUL2").style.display = status;
当输入为空时,这将隐藏两个div。否则,它将始终显示
看看新的例子:
函数myFunction(){
var query=document.querySelector('#myInput').value;
//这将从页面上的所有元素中获取所有- 元素
//但是,您需要仅为希望包含的元素指定唯一属性
var elements=document.querySelectorAll('li');
让状态=查询==“”?“无”:“块”
document.querySelector(“#myUL”).style.display=状态;
document.querySelector(“#myUL2”).style.display=状态;
对于(var i=0;i