2010-10-01 17 views
1

comment puis-je obtenir par exemple tous les liens dans un élément jquery sélectionné tout prêt (ce)

$("#container li").each(function(){ 
    $("this a").each(function(){ 
     // links inside this li element 
    }); 
}); 

Cela ne fonctionne pas est-il une autre façon ?

Répondre

6

Vous pouvez utiliser la fonction .find():

$('#container li').each(function() { 
    $(this).find('a').each(function() { 
     // links inside this li element 
    }); 
}); 

ou pour éviter les boucles imbriquées, vous pouvez sélectionner directement les liens et ensuite récupérer le parent li si nécessaire:

$('#container li a').each(function() { 
    var parentLi = $(this).parent('li'); 
}); 
+0

hors cours thx! – Remi

3

alternative à la proposition de Darin, jQuery vous permet de définir un nœud de contexte pour un sélecteur.

Ainsi, vous pouvez le faire:

var 
    $listItems = $('#container li'), 
    // use $listItems as context 
    $anchors = $('a', $listItems); 
+0

Ou, un [** un peu plus directement **] (http://jsfiddle.net/b9S4p/): '$ ('a', '#container li')' –

+0

Bien sûr, même si je l'ai compris, ce était sur la réutilisation des éléments. Votre version semble complètement vaincre le but. – Thomas