【问题标题】:How to hide multiple selectors as once with jQuery如何使用 jQuery 一次隐藏多个选择器
【发布时间】:2012-01-03 07:24:18
【问题描述】:

这是怎么回事..

    $("div.toggle1").hide();
    $("div.toggle3").hide();
            $("div.toggle4").hide();
            $("div.toggle5").hide();

不等于这个...

           $('#container div').not('.toggle2').hide();

发生在点击事件上,但它与手动输入多个 hide() 标记不同。我只是想减少我在父级#container div 中不断添加的每个 div 的 hide() 标签使用量。

【问题讨论】:

  • 在第二种情况下尝试从选择器中删除#container。现在这两种情况的结果是一样的吗?
  • 这两个对我来说是等价的。见:jsfiddle.net/jli1/nVNDA(只需评论/取消评论并重新运行)

标签: jquery hide


【解决方案1】:

您可以通过 css 轻松控制它。向父容器添加一个隐藏类,其中包含display:none 样式。如果您不希望 display:none 用于类为 toggle2 的 div,则覆盖此元素的样式。这样您就不必在所有容器上调用 hide 或选择所有容器并调用 hide 方法。

试试这个

.hidden{
   display:none;
}

.hidden .toggle2{
   display:block;
}

//This will add hidden class to the container which will 
//ultimately hide all the inner divs except div with class toggle2
$('#container').addClass('hidden');

【讨论】:

    【解决方案2】:
    $("div.toggle1, div.toggle3, div.toggle4, div.toggle5").hide();
    

    或者只是给每个你将隐藏同一个类的 DOM 元素,你可以这样做:

    $('.hideClass').hide();
    

    【讨论】:

    • 好吧,我不知道你可以像这样在开头添加多个选择器并用逗号分隔它们。这很酷,对我有用。
    • 完美。呵呵
    • 我真的很喜欢使用伪类的选项。在我看来,这确实是最干净的方法。
    猜你喜欢
    • 2010-11-27
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多