【问题标题】:How to hide elements which has no next elements with a certain class?如何隐藏没有特定类的下一个元素的元素?
【发布时间】:2009-05-21 10:48:10
【问题描述】:

我有以下 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 没有孩子,我想根据下一个元素进行检查。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    这个呢:

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

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

    【讨论】:

      【解决方案2】:

      您是否正在生成 (X)HTML?如果是的话:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-24
        • 2015-10-10
        • 1970-01-01
        • 2023-03-22
        • 2013-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多