如何在jQuery中隐藏所有div

12

我有几个

元素:

<div id="div-1"></div>
<div id="div-2"></div>
<div id="div-3"></div>
<div id="div-4"></div>
< p >如何使用jQuery隐藏所有元素。我尝试使用$('#div').hide();,但没有起作用。


2
#div将选择具有ID div的元素。jQuery有关于您可以使用的选择器的良好文档,您应该查看它:http://api.jquery.com/category/selectors/。为什么您认为 $('#div') 应该起作用? - Felix Kling
9个回答

22
您在选择器中使用了id。请改为使用以下代码:
$('div').hide();

然而,这将隐藏所有的div。您如何仅隐藏id形式为div-x的div?

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

这将仅隐藏您提到的div元素,而不会隐藏其他div元素(这可能会引起问题)。


完美的答案。谢谢。 - Yassine Younes
我从未想过在jQuery中可以使用子字符串选择器。我的眼睛已经被打开,我看到了光明! - Parapluie

6

如需了解更多详细信息,请阅读:元素选择器(“元素”)

这将起到作用:$('div').hide();

对于 jQuery,没有必要使用 # 符号来表示 id 选择器。如果要隐藏元素,则只需写下元素名称即可完成任务,这就是所谓的“元素选择器”。


5
问题在于您在选择器中指定了一个id。请改用以下方法:
$('div').hide();

5

jQuery使用CSS选择器,因此可以隐藏所有的div:

$('div').hide();

然而,如果你想隐藏那些 id 以 "div" 开头的元素,就像你的例子一样,可以这样做:
$('div[id^="div"]').hide();

5

去掉 # 号,只执行 $('div').hide();,因为当前你正在隐藏所有 id"div" 的元素。


1

给你想要隐藏的所有div分配一个类,然后执行如下操作:

 $('.hider').hide()

这将隐藏所有具有类名“hider”的div。然后,您可以在其中一些div上执行任何操作。

1

$('#div').hide();

不起作用是因为您正在查找ID =“div”的内容,而您已将其ID设置为“div-1”等。

相反,请尝试

  $('#div-1').hide();
  $('#div-2').hide();

等等

这将隐藏特定的div。

如果你真的想隐藏页面上的所有div,那么

  $('div').hide();

1

$('div').hide(); 应该可以正常工作

$('#div') 查找的是id="div",而不是所有的div。


0

#div元素的iddiv,如果您想隐藏页面上每个div,则您需要的选择器只是div(使用$('div').hide())。

不过,我认为这不是您真正想要的,您几乎肯定不想隐藏页面上的每个div。您似乎正在尝试一次性隐藏几个特定的div。做到这一点的方法是用逗号将id分隔开:$('#div-1,#div-2,#div-3,#div-4').hide()

或者更好的方法是为那些div添加class,以防您想更改div的数量。

因此,要隐藏:

<div id="div-1" class="foo"></div>
<div id="div-2" class="foo"></div>
<div id="div-3" class="foo"></div>
<div id="div-4" class="foo"></div>

你可以使用 $('.foo').hide()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接