如何隐藏没有下一个元素与某个类的元素?

时间:2009-05-21 10:48:11

标签: javascript jquery html

我有以下html,我想使用jquery隐藏所有没有下一个元素与类联系人的lsHeader。

<div id="B" class="lsHeader">B</div>
  <div id="contact_1" class="contact"> B.Contact1</b/>
  <div id="contact_2" class="contact"> B.Contact2</b/>
  <div id="contact_3" class="contact"> B.Contact3</b/>
  <div id="contact_4" class="contact"> B.Contact4</b/>
  <div id="contact_5" class="contact"> B.Contact5</b/>
<div id="C" class="lsHeader">C</div>
  <div id="contact_6" class="contact"> C.Contact6</b/>
  <div id="contact_7" class="contact"> C.Contact7</b/>
  <div id="contact_8" class="contact"> C.Contact8</b/>
  <div id="contact_9" class="contact"> C.Contact9</b/>
  <div id="contact_10" class="contact"> C.Contact10</b/>
<div id="D" class="lsHeader">D</div>
<div id="F" class="lsHeader">F</div>

注意

lsHeader没有孩子,我想根据下一个元素进行检查。

2 个答案:

答案 0 :(得分:4)

这个怎么样:

$(".lsHeader").each(function() {
    if (!$(this).next().is("div.contact")) {
        $(this).hide();
    }
});

根据您的具体需求,您可能希望将next替换为nextAll。

答案 1 :(得分:1)

您是否正在生成(X)HTML?如果是,那么:

<style>.IsHeader.empty {display: none;}</style>
<div id="D" class="lsHeader empty">D</div>