80 votes

Gestion des identifiants multiples en jQuery

Peut-on gérer des identifiants multiples comme dans le code ?

<script>
$("#segement1, #segement2, #segement3").hide()
</script>

<div id="segement1"/>
<div id="segement2"/>
<div id="segement3"/>

139voto

Nick Craver Points 313913

Oui, #id sélectionneurs combiné avec un sélecteur multiple (virgule) est parfaitement valide dans jQuery et CSS.

Cependant, pour votre exemple, puisque <script> vient antes de les éléments, vous avez besoin d'un document.ready Il attend donc que les éléments soient dans le DOM pour aller les chercher, comme ceci :

<script>
  $(function() {
    $("#segement1,#segement2,#segement3").hide()
  });
</script>

<div id="segement1"></div>
<div id="segement2"></div>
<div id="segement3"></div>

0 votes

S'il n'y a pas de contenu pour le div, nous pouvons simplement écrire <div id="segment1" /> n'est-ce pas ?

3 votes

@Rajeev - non, ce n'est pas un élément à fermeture automatique :)

0 votes

Et si ces divs sont générés automatiquement #segment{i} et qu'il y en a une quantité indéfinie ?

1voto

Zeeshan Eqbal Points 235

Solution :

Pour votre question secondaire

var elem1 = $('#elem1'),
    elem2 = $('#elem2'),
    elem3 = $('#elem3');

Vous pouvez utiliser la variable en remplacement du sélecteur.

elem1.css({'display':'none'}) ; //travaillera

Dans le cas ci-dessous, le sélecteur est déjà stocké dans une variable.

$(elem1,elem2,elem3).css({'display':'none'}) ; // ne fonctionnera pas

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X