让我们假设我有5个div,其ID为#job1,#job2,#job3,#job4,#job5。我想使用jquery来隐藏所有这些,但要说div ID为#Job2的那个。是否有任何选择器语法可以让我应用于除#job2之外的所有这些ID?
答案 0 :(得分:6)
当然可以!有几种方法可以做到这一点;以下是结合jQuery的Attribute Starts With Selector,Attribute Ends With Selector和:not()
Selector的示例:
$("[id^='job']:not([id$='2']").hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="job1">job1</div>
<div id="job2">job2</div>
<div id="job3">job3</div>
<div id="job4">job4</div>
<div id="job5">job5</div>
正如您对问题的评论中所讨论的那样,这可能不是完成此任务的最理想方法-类可能是针对这些元素中每个元素的更可靠的方法。
答案 1 :(得分:4)
与其使用复杂的选择器,不如将共享的类名放在所有元素上并将其用作选择器,可能会更好:
.box {
height: 20px;
background: khaki;
width: 100px;
text-align:center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="box A B F R W Q">Has Q</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B F W R">No Q</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B F W R M">Has M</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B Q F H M K F">Has Q & M</div>