2013-10-04 52 views
1

这里是一个代码片段,我们总是动画一个<div>hide()其余的。随着我们添加更多,这会产生一长串hide()JQuery 2.0.3,一次隐藏所有div?

<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一个我想要的吗?

+1

你的html在哪里? –

+1

给他们一个普通的班!没有必要列出每一个元素。 – epascarello

回答

1

看那么这将工作

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

//For the animate use what you have 

希望它帮助!

+1

开始会是[id^=“slidingDiv”]','[id * =“slidingDiv”]'选择任何带有'id'的元素,该元素仅包含*字符串'slidingDiv' ,或者可能不是,OP将会需要什么)。 –

+0

它给出了相同的结果 –

+0

绝对;直到有一个元素带有id =“unslidingDiv”',可能*不应该被选中,无论如何。 –

1

如果你真的想隐藏所有<div> S,使用

$('div').hide(); 

但是,您可能要添加一个类你想隐藏的附加使用

$('.yourclassname').hide(); 
所有 <div>小号改为

2

摆脱个人隐藏声明和使用:

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

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

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

,或者把多个选择:

你可以使用预先选择,我看到你在同一个词开始许多IDS
$("#slidingDivAudioCategory, #slidingDivPicturesCategory, #slidingDivsAdsCategory").hide();