9
votes

JQuery: Comment puis-je obtenir l'URL d'une ancre contenue dans une balise "LI" cliquée?

Ce qui suit est un segment de HTML dans l'une de mes pages:

<li class="prodcat-line">
   <a title="foobar" class="prodcat" href="/some/url.php">Foobar</a>
</li>


0 commentaires

5 Réponses :


1
votes

Que diriez-vous:

$('.prodcat').click(function(event) {
    var url = $(this).attr('href');
});


0 commentaires

2
votes
$('a').click(function(e) {
    e.preventDefault();
    alert($(this).attr('href'));
});
Check working example at http://jsfiddle.net/4XU8h/

0 commentaires

14
votes
$('.prodcat-line').click(function(){
    alert($('a', this).attr('href'));
    return false;
});
Example here.

1 commentaires

Exactement ce dont j'avais besoin, merci. Je vais accepter votre réponse dès que je suis capable de (environ 7 minutes)



0
votes

Si vous sélectionnez le li code> comme xxx pré>

alors, vous pouvez sélectionner des descendants directs à l'aide de ">": p> xxx PRE>

ou, en utilisant jQuery enfants code> méthode: p> xxx pré>

ou à partir de tout décret, omettez le > code > et utiliser juste un espace: p> xxx pré>

ou, à nouveau, à l'aide d'une méthode de jQuery, cette fois Rechercher code>: p>

$(".prodcat-line").find("a")...
$(".prodcat-line").find("a.prodcat")...
$(".prodcat-line").find(".prodcat")...


0 commentaires

0
votes

Whan vous cliquez sur la balise LI que vous pouvez avoir ses éléments d'enfant. Deux moyen de le faire.

$('.prodcat-line').click(function() {
    $(this).children('a').attr('href');
    //or
    $('a', this).attr('href');
});


0 commentaires