2009-09-13 6 views
2

Comment puis-je m'assurer que plusieurs divs sont glissés? En ce moment j'ai cette fonction:slideUp Plusieurs divs

$("div#personal").click(function() { 
    $("div.1").slideUp("slow", function() { $("div.2").slideDown("slow") }); 
}); 

Ce que je voudrais faire est de vous assurer que tous les divs qui sont nommés:

  1. div.1
  2. Div.2 SAUF CELUI-CI
  3. div.3
  4. div.4
  5. div.5

est glissé, sauf le second div.

Répondre

5

Vous pouvez utiliser le sélecteur not pour empêcher une (ou plusieurs) d'entre eux de glisser vers le haut:

$("div#personal").click(function() { 
    $("div :not('#idofseconddiv'").slideUp("slow"); 
}); 

Ce serait une bonne idée de donner ces divs une classe css commune de sorte que le sélecteur ne sélectionne pas tous divs dans votre page:

$("div#personal").click(function() { 
    $("div.someClass :not('#idofseconddiv')").slideUp("slow"); 
}); 

Si vous utilisez des noms de classe numérotée vos divs, vous voudrez peut-être envisager d'utiliser le starts with attribute filter:

$("div#personal").click(function() { 
    $("div[class^=yourClass] :not('#idofseconddiv')").slideUp("slow"); 
}); 
+0

ces divs ont des classes et dans ces classes, il est compris entre 1 et 5. –

+2

Utilisez également l'accesseur d'objet jQuery INDEX si vous n'avez pas d'ID. Il retourne l'index (basé sur zéro) de cette div dans la page – ranonE

+0

Oui, mais comment s'assurer que tous mes divs avec les classes 1 à 5 sont glissés? Cela assure seulement que 1 div avec someClass est glissé et pas tous. –