我正在尝试使用 jQuery 在 keyup 上过滤带有标题(类别名称)的多个列表(特定类别的书籍)。我只想过滤搜索列表中的项目(特定书籍),但不过滤标题。如果列表为空,则标题(类别名称)应该消失。到目前为止,我的工作是过滤多个列表,但如果列表为空,标题不会消失。我还想从过滤器中排除 .custom-books 列表。
HTML:
<input type="text" id="search" />
<ul id="workflow_books">    
<li>
    <h6 class="custom"> Custom Books</h6>
    <ul>
        <li class="custom-books">
            <a>Don't see your book in our list? Add it yourself!</a>
        </li>
    </ul>
</li>
<li>
    <h6>Academic</h6>
    <ul>
        <li>
            <a>Academic Book One</a>
        </li>
        <li>
            <a>Academic Book Two</a>
        </li>
    </ul>
</li>
<li>        
    <h6>Botany</h6>
    <ul>
        <li>
            <a>Botany Book One</a>
        </li>
        <li>
            <a>Botany Book Two</a>
        </li>
    </ul>
</li>
</ul>
和我的 jQuery:
var $products = $('#workflow_books li ul li a')
$("#search").keyup(function() {
    $products.show().filter(function() {
        return !re.test($(this).text());
    }).hide();
})
有任何想法吗?
谢谢和击掌!麦克风