【发布时间】:2015-02-13 21:16:18
【问题描述】:
我有一个包含许多列表项的列表,我想创建一个自定义过滤器,除了一个问题外,我几乎完成了该过滤器。在列表中,有不同的部分充当标题,如果该标题下有任何项目,则标题列表项也应显示。
这是列表的格式:
<ul id="forms-list">
<li><a><img/></a></li> <-----This is a Header
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
<li><a><img/></a></li> <-----This is a Header
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
</ul>
如果该标题下没有项目,则该标题应保持隐藏状态。
这是我目前拥有的代码:
$('#filter').keyup(function () {
var rex = new RegExp($(this).val(), 'i');
$('#forms-list li').hide();
var $filtered = $('li').filter(function () {
return rex.test($(this).text());
});
$filtered.each(function () {
$(this).closest("li").has("img").show();
$(this).show();
});
});
【问题讨论】:
-
有什么理由必须全部在 1 个列表中?
标签: javascript jquery html filter