91 votes

Sélecteur jQuery "Tout mais pas"

Je peux sélectionner (à l'aide de jQuery) toutes les div dans un balisage HTML comme suit :

 $('div')

Mais je veux exclure un div (disons ayant id="myid" ) de la sélection ci-dessus.

Comment puis-je le faire en utilisant les fonctions Jquery ?

9voto

Raynos Points 82706
var els = toArray(document.getElementsByTagName("div"));
els.splice(els.indexOf(document.getElementById("someId"), 1);

Vous pouvez simplement le faire à l'ancienne. Pas besoin de jQuery avec quelque chose d'aussi simple.

Conseils de pro :

Un ensemble d'éléments dom est juste un tableau, utilisez donc votre favori toArray méthode sur un NodeList .

L'ajout d'éléments à un ensemble est juste

set.push.apply(set, arrOfElements);

Supprimer un élément d'un ensemble est

set.splice(set.indexOf(el), 1)

Vous ne pouvez pas facilement supprimer plusieurs éléments à la fois :(

8voto

genesis Points 32591
$("div:not(#myid)")

[doc]

ou alors

 $("div").not("#myid")

[doc]

sont les principaux moyens de sélectionner tous les identifiants sauf un

Vous pouvez voir la démo ici

4voto

Ehtesham Points 1961
   var elements =  $('div').not('#myid');

Cela inclura toutes les divs sauf celle avec l'id 'myid'

3voto

abhijit Points 1247
$('div:not(#myid)');

c'est ce qu'il te faut je pense

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