JQuery 2.0.3,一次隐藏所有div?

时间:2013-10-04 00:28:54

标签: javascript jquery html5

这是一段代码片段,我们总是为其余<div>hide()制作动画。当我们添加更多内容时,这将生成一长列hide()

<script type="text/javascript">
    //<![CDATA[
            function showSlidingDivVideoCategory(){
                // show what we need
                $("#slidingDivVideoCategory").animate({"height": "toggle"}, { duration: 500 });

                // hide what we dont
                $("#slidingDivAudioCategory").hide();
                $("#slidingDivPicturesCategory").hide();
                $("#slidingDivAdsCategory").hide();
                $("#slidingDivMediaRoom").hide();
                $("#slidingDivKeynotePresentations").hide();
                $("#slidingDivBlog").hide();
                $("#slidingDivAbout").hide();
                $("#slidingDivSubmitFootage").hide();
                $("#slidingDivContact").hide();
                $("#slidingDivSearchBox").hide();

有没有办法我hide()所有<div>所以我可以展示我想要的几个和animate我想要的那个?

4 个答案:

答案 0 :(得分:2)

删除各个隐藏语句并使用:

$("div:not('#slidingDivVideoCategory')").hide();

答案 1 :(得分:1)

如果您确实要隐藏所有 <div>,请使用

$('div').hide();

但是,您可能希望为要隐藏的所有<div>添加一个类添加使用

$('.yourclassname').hide();

代替。

答案 2 :(得分:1)

您可以使用类选择器并使用类隐藏。

$(".myclass").hide();

或组合多个选择器:

$("#slidingDivAudioCategory, #slidingDivPicturesCategory, #slidingDivsAdsCategory").hide();

答案 3 :(得分:1)

看看你可以使用高级选择器,我看到你有很多id以相同的单词开头,所以这可行

$("[id*=slidingDiv]").hide();

//For the animate use what you have

希望它有所帮助!