如何使div在javascript中不可见?
所以我有下一个代码:如何使div在javascript中不可见?,javascript,html,css,Javascript,Html,Css,所以我有下一个代码: 函数myFunction(){ var输入、滤波器、ul、li、a、i; 输入=document.getElementById(“myInput”); filter=input.value.toUpperCase(); ul=document.getElementById(“myUL”); li=ul.getElementsByTagName(“li”); 对于(i=0;i-1){ 李[i].style.display=“”; //div[i].style.display
函数myFunction(){
var输入、滤波器、ul、li、a、i;
输入=document.getElementById(“myInput”);
filter=input.value.toUpperCase();
ul=document.getElementById(“myUL”);
li=ul.getElementsByTagName(“li”);
对于(i=0;i-1){
李[i].style.display=“”;
//div[i].style.display=“”;
}否则{
li[i].style.display=“无”;
//div[i].style.display=“无”;
}
}
}
网站
* {
框大小:边框框;
}
#networdapp{
显示:无;
}
#我的输入{
背景图片:url('/css/searchicon.png');
背景位置:10px 12px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 40px;
边框:1px实心#ddd;
边缘底部:12px;
}
#密尔{
列表样式类型:无;
填充:0;
保证金:0;
}
#李美儿{
边框:1px实心#ddd;
页边顶部:-1px;
/*防止双重边界*/
背景色:#f6f6f6;
填充:12px;
文字装饰:无;
字号:18px;
颜色:黑色;
显示:块
}
#myUL li a:悬停:非(.header){
背景色:#eee;
}
当您显示“LI”时,您可以使用“parentElement”显示它的父DIV。请检查下面的代码片段
你的代码
li[i].style.display = "none";
li[i].style.display = "";
新代码
li[i].parentElement.style.display = "none";
li[i].parentElement.style.display = "";
您应该整理html中重复的ID,如果
,则不是直接的子项
这样做之后,@Ambuj Khanna的建议应该会有所帮助。您可能需要重复应用parentElement
我突然想到,整个操作本可以使用jQuery在两行中完成:
var flt=$('#myInput').val().toUpperCase();
$('#myUl>div').each(function(i,div){$(div).toggle($('li',div).text().toUpperCase()==flt)})
以上内容应使顶层div(就在您的
下方)可见,并隐藏所有其他div。但是,
下面的元素应该始终是
元素。谢谢大家的帮助!问题现在解决了。我刚刚为div使用了JQuery解析器,一切都很好。如果您使用的是vueJS,请检查您没有有效的HTML。缺少一些结束标记。另外,李应该是ul的直接孩子。这只是我代码的一个片段,当我问这个问题时,我修改了它,我忘记了一些标签,我道歉。无论如何,谢谢你们的帮助,你们两个!其中多次存在多个ID(#myUL、#test2、#networdapp)。每个ID在文档中必须是唯一的