2010-08-09 4 views
6

comment puis-je sélectionner seulement le 3ème (ou un autre numéro de mon chioce) li élément avec jquery? par ex: comment puis-je changer l'arrière-plan du troisième li seulement avec jquery. toute aide s'il vous plaîtsélectionnez seulement le troisième li

Répondre

14

Comment sélectionner seulement 3 (

Utilisez la méthode eq comme ceci:

$('li').eq(2).css('background', 'yellow'); 

Ou vous pouvez utiliser cette variante du :eq sélecteur de filtre:

$('li:eq(2)').css('background', 'yellow'); 

L'indexation commence à partir de 0, vous devez spécifier 2 pour sélectionner en fait le troisième li

Si toutefois vous voulez sélectionner chaque troisième élément, vous devez utiliser nth-child comme ceci:

$('li:nth-child(3n)') 

L'indice nth-child commence à partir de 1 cependant.

+0

Par curiosité, je dupé un peu avec le sélecteur. Il s'avère que l'utilisation de 'slice' et act et de l'ensemble du wrappet est plus rapide que l'utilisation de' nth-child'. http://www.jsfiddle.net/qbDKN/13/ – jAndy

+0

@jAndy: C'est un travail intelligent :) – Sarfraz

+0

@jAndy - Je reçois des résultats opposés, avec 'eq' presque deux fois plus lent. Souvenez-vous que 'nth-child' est un sélecteur CSS, et est implémenté nativement par certains navigateurs. – Kobi

7

Si vous avez besoin du troisième li sur toutes les listes, utilisez nth-child:

$('li:nth-child(3)') 
+0

Cela sélectionnera tous les trois enfants non seulement – Sarfraz

+0

@Sarfraz - ce serait 'nth-child (3n)' – Kobi

+0

Je suppose que je suis abaissé parce que Sarfraz a édité sa réponse pour inclure le mien, après avoir prétendu que ce n'est pas correct. Bon temps. – Kobi

Questions connexes