JavaScript隐藏多个div

时间:2018-10-12 11:32:49

标签: javascript jquery

我有多个以expense开头的div。我可以用下面的公式将它们全部隐藏起来

$("[id^='expense']").hide();

但是我需要排除以expense开头的div之一。这一功能将取决于其他功能,因此我无法更改其名称。

无论如何,我可以排除特定的对象(例如expense_one

4 个答案:

答案 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>