Javascript jQuery-如果所有子项都受影响,则隐藏父项
我正在使用Javascript jQuery-如果所有子项都受影响,则隐藏父项,javascript,jquery,html,Javascript,Jquery,Html,我正在使用输入上的.keyup()为多个ul创建搜索功能。如果有匹配项,则显示.show()li和其他匹配项。hide() 如果内部的所有li都被隐藏了,我该如何爬上层次结构来隐藏整个ul HTML布局: <input type="text" class="brandsearch"> <ul class="brands-group"> <li>Adidas</li> <li>Nike</li> </ul&
输入上的.keyup()
为多个ul
创建搜索功能。如果有匹配项,则显示.show()
li
和其他匹配项。hide()
如果内部的所有li
都被隐藏了,我该如何爬上层次结构来隐藏整个ul
HTML布局:
<input type="text" class="brandsearch">
<ul class="brands-group">
<li>Adidas</li>
<li>Nike</li>
</ul>
- 阿迪达斯
- 耐克
您可以添加以下内容:
if (jQuery('.brands-group li:visible').length == 0) {
jQuery('.brands-group ul').hide();
}
您可以添加以下内容:
if (jQuery('.brands-group li:visible').length == 0) {
jQuery('.brands-group ul').hide();
}
jQuery('.brandsearch').keyup(function(event) {
var inputValue = jQuery(".brandsearch").val().toLowerCase();
jQuery(".brands-group li").each(function(event) {
var $parent = jQuery(this).closest('ul');
if(jQuery(this).html().toLowerCase().indexOf(inputValue) == -1)
{
jQuery(this).hide();
if(jQuery('>li:visible', $parent).length == 0) $parent.hide();
} else {
jQuery(this).show();
if($parent.is(':hidden')) $parent.show();
}
});
});