隐藏所有但是一个嵌套元素Jquery

时间:2016-05-09 17:34:20

标签: jquery

我想隐藏页面上的所有表格,但基于以下内容

 <div class="col-sm-8" id="contents"> 

    <div id="gridWrapper">  <table id="grid"></table> </div>
     <div id="LogonServer Information">  <table id="grid2"></table> </div>
         </div>

          <div id="info"> </div>
            </div>

  resultId="#LogonServer Information";
  $('#contents').not(resultId).hide();
   $(resultId).show();

其中resultId是包含表格的其中一个div的id。我不确定我做错了什么?这段代码隐藏了所有内容

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想隐藏contents内的所有元素,除了一个......对吗?

首先,您需要让自己的身份证明有效。 LogonServer Information不是。不允许使用空格,因此请使用下划线LogonServer_Information

然后,您可以使用选择器$('#contents>div')选择div的直接子项的所有#contents。通过使用.not(resultId),您可以将该div排除在隐藏之外。

不需要在该div上使用show(),因为它被排除在外并且根本不会被隐藏。

&#13;
&#13;
$(function() {
  var resultId = '#LogonServer_Information';
  $('#contents>div').not(resultId).hide();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-sm-8" id="contents">

  <div id="gridWrapper">
    gridWrapper
    <table id="grid"></table>
  </div>
  <div id="LogonServer_Information">
    LogonServer_Information
    <table id="grid2"></table>
  </div>
</div>

<div id="info"></div>
&#13;
&#13;
&#13;