Select CSS 或 jquery 中的直系兄弟?
Select immediate sibling in CSS or jquery?
我在兜圈子,但找不到准确的逻辑。我有以下代码:
<form>
<table></table>
<div class="1"> </div>
<div class="2"> </div>
<div class="3"> </div>
</form>
table 标签依赖是通过设置控制的,并不总是存在。如果 "table" 标签存在,我想要做的是用 class 1 隐藏 "div"。关于如何通过 CSS 或 Jquery 执行此操作的任何想法?
$('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>
- 假设只有一个 table 存在,使用
.length
检查是否存在。
- 您可以使用 ID 或 class 更具体的 table 来检查。
- 不要开始使用数字
命名class
具体table:
$('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>
可以用+表示直系兄弟:
table + div.one {
display: none;
}
<form>
<table></table>
<div class="one">a</div>
<div class="two">b</div>
<div class="three">c</div>
</form>
使用.siblings()
方法。
if ($('table').length > 0) {
$("table").siblings().first().hide();
}
我在兜圈子,但找不到准确的逻辑。我有以下代码:
<form>
<table></table>
<div class="1"> </div>
<div class="2"> </div>
<div class="3"> </div>
</form>
table 标签依赖是通过设置控制的,并不总是存在。如果 "table" 标签存在,我想要做的是用 class 1 隐藏 "div"。关于如何通过 CSS 或 Jquery 执行此操作的任何想法?
$('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>
- 假设只有一个 table 存在,使用
.length
检查是否存在。 - 您可以使用 ID 或 class 更具体的 table 来检查。
- 不要开始使用数字 命名class
具体table:
$('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>
可以用+表示直系兄弟:
table + div.one {
display: none;
}
<form>
<table></table>
<div class="one">a</div>
<div class="two">b</div>
<div class="three">c</div>
</form>
使用.siblings()
方法。
if ($('table').length > 0) {
$("table").siblings().first().hide();
}