Javascript 使用List.js使用类或数据属性进行筛选

Javascript 使用List.js使用类或数据属性进行筛选,javascript,listjs,Javascript,Listjs,如果我有这样的HTML列表: <div id="my-list"> <ul class="list"> <li data-cat="fish">Cod</li> <li data-cat="fish">Salmon</li> <li data-cat="bird">Crow</li> </ul> </div>

如果我有这样的HTML列表:

<div id="my-list">
    <ul class="list">
        <li data-cat="fish">Cod</li>
        <li data-cat="fish">Salmon</li>
        <li data-cat="bird">Crow</li>
    </ul>
</div>

    鳕鱼 鲑鱼
  • 乌鸦
是否可以根据
数据cat
属性的内容使用过滤


我看到的所有示例都只允许基于可见HTML内容进行搜索/过滤,但我希望根据
数据
元素的内容进行过滤,如这里所示,或者可能是列表项的
。但是我不知道怎么做。

如果您想使用jQuery而不是查找和隐藏/显示具有匹配类/数据元素的元素,只需使用
.filter

例如,如果要将带有
fish
的项目隐藏为
data cat

$('.list li').filter('[data cat=“fish”]').hide()

    鳕鱼 鲑鱼
  • 乌鸦

如果希望使用jQuery而不是查找和隐藏/显示具有匹配类/数据元素的元素,只需使用
.filter

例如,如果要将带有
fish
的项目隐藏为
data cat

$('.list li').filter('[data cat=“fish”]').hide()

    鳕鱼 鲑鱼
  • 乌鸦

查看参考资料。目前这不是一个特色。不过,您可以查看options对象中的自定义过滤器函数。根据
的类型,您可以将其作为一个参数,编写自己的过滤函数,其工作方式与您所希望的一样。谢谢。写了这篇文章之后,我想我可能是想得太多了,应该使用jQuery来查找和隐藏/显示具有匹配类/数据元素的元素。目前这不是一个特色。不过,您可以查看options对象中的自定义过滤器函数。根据
的类型,您可以将其作为一个参数,编写自己的过滤函数,其工作方式与您所希望的一样。谢谢。写了这篇文章之后,我想我可能是想得太多了,应该使用jQuery来查找和隐藏/显示具有匹配类/数据元素的元素。