JQuery检查下一个可见元素是否具有相同的类

时间:2014-10-05 20:26:42

标签: jquery

我有一个按字母表分组的名单。 示例代码:

<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>

假设所有以BH开头的标签都有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返回标签。

小提琴:http://jsfiddle.net/ff4qh0y7/

1 个答案:

答案 0 :(得分:1)

您可以使用nextAllfirst获取下一个可见元素,并使用.alphabet_selector检查它是is

代码:

$(".alphabet_selector").each(function() { 
    if ($(this).nextAll(":visible").first().is(".alphabet_selector")){
        $(this).css("display", "none");
    } 
});

演示:http://jsfiddle.net/0dff337g/