如何隐藏除第一个<div>及其子元素之外的所有元素?</div>

时间:2014-07-16 20:25:40

标签: javascript jquery

我的HTML代码结构如下

<div id="content">
  <div>   //start
    <div id="title"></div>
    <div></div>
    <div></div>
    <div></div>
    .....more.....
  </div>   //end  
  <div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    .....more.....
  </div>  
  <div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    .....more.....
  </div>
  .....more div like above....
</div>

我想使用一段JQuery代码隐藏除&#34; div&#34;之外的所有内容。有id =&#34; title&#34;(保持代码从//开始到//结束)。

现在,我的JQuery代码是:

$("div:not(:has(#title))").hide(); 

它显示&#34; div id =&#34; title&#34;&#34;&#34; div&#34;&#34;,但它也隐藏了几个&#34; div&#34 ;在&#34; div id =&#34; title&#34;&#34;&#34; div&#34;&#34;。同样,我想保持代码从//开始//结束。请帮助我,谢谢。

1 个答案:

答案 0 :(得分:4)

如果您的目标是隐藏包含#title元素的div的兄弟,那么:

$("#title").parent().siblings().hide();
  • $("#title") - 找到包含id "title"

  • 的元素
  • .parent() - 转到其父级

  • .siblings() - 获取父母的兄弟姐妹

  • .hide() - 隐藏它们