gpt4 book ai didi

javascript - 过滤多个列表但不是全部?

转载 作者:行者123 更新时间:2023-11-28 18:51:23 26 4
gpt4 key购买 nike

请参阅以下代码:

<input type="text" />

<h3>Category 1</h3>
<ul id="category1">
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>

<h3>Category 2</h3>
<ul>
<li>item27</li>
<li>item28</li>
</ul>

<h3>Category 3</h3>
<ul>
<li>item132</li>
<li>item437</li>
</ul>

这是JS

$(function(){

$('input[type="text"]').keyup(function(){

var text = $(this).val().toLowerCase();

$('ul li').each(function(){

if($(this).text().toLowerCase().indexOf(text) == -1)
$(this).hide();
else
$(this).show();

});
});

});

这将过滤列表,但我的问题是如何让它过滤类别 1 和 2 列表,但不过滤类别 3 列表。我希望类别 3 列表保持不变,因为其他列表已被过滤掉。预先感谢您的任何建议或指导。

最佳答案

如果您为第三个 ul 提供 id,那么您可以使用 :not() pseudo-class 排除它。 .

Updated Example

$('ul:not(#category3) li').each(function() {
// ...
});

如果您必须排除多个元素,最好只排除特定的类。

在本例中,.exclude 类已添加到第三个 ul 元素:

$('ul:not(.exclude) li').each(function() {
// ...
});

关于javascript - 过滤多个列表但不是全部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34468372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com