2010-05-29 4 views
0

i ont le code ci-dessous de l'échantillon pour une liste de navigation:sélecteur jquery

<div id="menu"> 
<ul> 
    <li><a href="#sect1">link 1</a></li> 
    <li><a href="#sect2">link 2</a></li> 
    <li><a href="#sect3">link 3</a></li> 
</ul> 
</div> 

and some jquery code: 
$("#menu li").click(function() { 
    var mylicontent=$(this).html(); 
}); 

je veux obtenir à la fois le contenu html de l'objet li et la valeur href. Des idées?

+3

juste quelques commentaires sur le balisage: vous pouvez prendre ce supplément div id et mettre le sur votre ul :) moins balises, plus sémantique :) – corroded

Répondre

4

Vous pouvez faire comme:

$("#menu li").click(function() { 
    var mylicontent = $(this).html(); 
    var mylik = $(this).find('a').attr('href'); 
}); 

Ou vous pouvez aussi faire comme:

$("#menu li").click(function() { 
    var mylicontent = $(this).html(); 
    var mylik = $('a', this).attr('href'); 
}); 
+0

qui était si facile ! Merci! – Sotos

+0

@Sotos: Vous êtes les bienvenus :) – Sarfraz

+0

Je voudrais utiliser délégué ici plutôt que x événements de clic – redsquare

2

Il est préférable si vous attachez cliquez sur le a et non sur le li.

Ensuite, vous feriez quelque chose comme $(this).parent().html()

+0

et le href serait $ (this) .attr ('href'); n'est-ce pas? – Sotos

+0

@Sotos: exactement – cherouvim