我有一个按字母表分组的名单。 示例代码:
<label class="alphabet_selector">A</label>
<label>Apple</label>
<label class="alphabet_selector">B</label>
<label>Book</label>
<label>Baby</label>
<label class="alphabet_selector">H</label>
<label>Help</label>
<label>Hello</label>
<label>How</label>
<label class="alphabet_selector">Z</label>
<label>Zebra</label>
<label>Zip</label>
<label>Zoo</label>
假设所有以B
和H
开头的标签都有display: none
。
因此必须隐藏<label class="alphabet_selector">B</label>
和<label class="alphabet_selector">H</label>
。我如何使用jQuery实现这一点?
我尝试了以下代码,但它不起作用:
$(".alphabet_selector").each(function() {
if ($(this).next(".alphabet_selector").length == 1){
$(this).css("display", "none");
}
});
我认为因为.next
会使用display: none
返回标签。
答案 0 :(得分:1)
您可以使用nextAll
和first
获取下一个可见元素,并使用.alphabet_selector
检查它是is
。
代码:
$(".alphabet_selector").each(function() {
if ($(this).nextAll(":visible").first().is(".alphabet_selector")){
$(this).css("display", "none");
}
});