在CSS或jquery中选择立即兄弟姐妹?

时间:2017-01-06 03:44:46

标签: jquery css css-selectors jquery-selectors

我绕圈而行,但无法找到准确的逻辑。我有以下代码:

<form>
 <table></table>
 <div class="1"> </div>
 <div class="2"> </div>
 <div class="3"> </div>
</form>

表标记依赖性通过设置进行控制,并不总是存在。我想做的是隐藏&#34; div&#34;如果&#34;表&#34;标签存在。有关如何通过CSS或Jquery做到这一点的想法吗?

3 个答案:

答案 0 :(得分:1)

您可以使用 + 表达直接兄弟姐妹:

&#13;
&#13;
table + div.one {
  display: none;
}
&#13;
<form>
  <table></table>
  <div class="one">a</div>
  <div class="two">b</div>
  <div class="three">c</div>
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

$('table').length > 0 ? $('.class1').hide() : $('.class1').show();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
 <table></table>
 <div class="class1"> 1</div>
 <div class="class2"> 2</div>
 <div class="class3"> 3</div>
</form>

  1. 假设只有一个表使用.length来检查是否存在。
  2. 您可以使用ID或类来更具体地检查表格。
  3. 不要使用数字
  4. 开始命名类

    具体表格:

    $('table#check').length > 0 ? $('.class1').hide() : $('.class1').show();//checks for table with id check if present then do hide or show 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form>
      <table id='check'></table>
      <div class="class1">1</div>
      <div class="class2">2</div>
      <div class="class3">3</div>
      <table id='check1'></table>
    </form>

答案 2 :(得分:0)

Working Fiddle

使用if ($('table').length > 0) { $("table").siblings().first().hide(); } 方法。

q=*:* & fq=(Code1:("N02" +OR+ "N01") +OR+ Code2:"B0") 
  +OR+ (*:* AND -Flg:G) +OR+ Id:"\-30"*