Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使div在javascript中不可见?_Javascript_Html_Css - Fatal编程技术网

如何使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在文档中必须是唯一的