Sélectionnez tous les éléments enfants sauf le premier

Disons que j’ai ce qui suit:

  • First item
  • Second item
  • Third item

Comment sélectionner tous les éléments enfants après le premier utilisant jQuery? Je peux donc réaliser quelque chose comme:

 
  • First item
  • Second item
  • Third item

Vous devriez pouvoir utiliser les sélecteurs “not” et “first child”.

 $("li:not(:first-child)").addClass("something"); 

http://docs.jquery.com/Selectors/not

http://docs.jquery.com/Selectors/firstChild

Sur la base de mon parsing totalement non scientifique des quatre méthodes, il semble y avoir peu de différence de vitesse entre elles. J’ai couru chacun sur une page contenant une série de listes non ordonnées de longueur variable et les a chronométrées à l’aide du profileur Firebug.

 $("li").slice(1).addClass("something"); 

Durée moyenne: 5.322ms

 $("li:gt(0)").addClass("something"); 

Temps moyen: 5.590ms

 $("li:not(:first-child)").addClass("something"); 

Durée moyenne: 6.084ms

 $("ul li+li").addClass("something"); 

Temps moyen: 7.831ms

http://docs.jquery.com/Traversing/slice

 $("li").slice(1).addClass("something"); 

Une requête plus élégante (sélectionnez tous les éléments li précédés d’un élément li):

$('ul li+li')

Cela devrait fonctionner

 $('ul :not(:first-child)').addClass('something'); 

j’utiliserais

 $("li:gt(0)").addClass("something"); 

C’est ce que j’ai travaillé jusqu’ici

 $('.certificateeList input:checkbox:gt(0)') 

Utilisez la méthode jQuery .not ()

 $('li').not(':first').addClass('something'); 

OU

 var firstElement = $('li').first(); $('li').not(firstElement).addClass('something');