我有多个以expense
开头的div。我可以用下面的公式将它们全部隐藏起来
$("[id^='expense']").hide();
但是我需要排除以expense
开头的div之一。这一功能将取决于其他功能,因此我无法更改其名称。
无论如何,我可以排除特定的对象(例如expense_one
)
答案 0 :(得分:5)
通过不使用,您可以这样做:
$("[id^='expense']").not('#expense_one').hide();
更新:使用#
指定ID答案 1 :(得分:2)
另一种选择是隐藏所有以费用开头的id的div,然后在下一行显示所需的div。保持简单
$("[id^='expense']").hide();
$('#expense_one').show();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="expense_x">1</div>
<div id="expense_y">2</div>
<div id="expense_one">3</div>
<div id="expense_a">4</div>
答案 2 :(得分:1)
只需尝试以下代码
$("[id^='expense']:not(:first)").hide();
答案 3 :(得分:1)
以下是从通配符选择器中排除elements
的方法。在not
内部,可以传递用逗号分隔的元素。如果您只想排除一个特定元素,则只需将id
中的那些元素放在not
中即可。
$("[id^='expense']").hide()
$("[id^='expense']:not(#expense_one,#expense_two)").show();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="expense_one">1</div>
<div id="expense_two">2</div>
<div id="expense_three">3</div>
<div id="expense_four">4</div>