使用jquery隐藏除一个子div(包括其子级)之外的所有元素

时间:2017-05-22 11:37:51

标签: javascript jquery html

div下面有一个拥有myDiv类的视频播放器。 我想隐藏整个网站,只是想显示视频,即myDiv和它的孩子。如何使用jQuery或JavaScript。

<body>
   <header></header>
   <main>
      <section></section>
      <section>
        <div class="myDiv">
           <div></div>
           <div</div>
        </div>
      </section>
      <section></section>
   </main>
   <footer></footer>
</body>

2 个答案:

答案 0 :(得分:0)

尝试使用jquery的filter()函数

$('section').filter(function(){
 return $(this).find('.myDiv').length == 0 //its hiding except myDiv
}).hide()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<body>
  <main>
    <section>first</section>
    <section>second contains myDiv
      <div class="myDiv">its a my div
        <div>i m child of myDiv</div>
        <div>i m child of myDiv</div>
      </div>
    </section>
    <section>Third</section>
  </main>
</body>

答案 1 :(得分:0)

你可以给视频div一个类和每个其他div一个隐藏类并编写代码,这样当你点击它来播放时,它会隐藏其他所有内容。

所以在你的jquery

$('.videoClass').click(function(){
 $('.hide').css('display','none');
});

你可以添加一个切换,这样当你再次点击它时,它会显示所有隐藏的div。