Question

J'ai une liste de liens qui ont un événement click attaché à eux, je dois obtenir l'ID de l'enfant Un lien. Ainsi, dans l'exemple ci-dessous si je cliqué sur le premier élément de la liste je besoin de Google recalibrée.

J'ai essayé mais ne peut pas '$this a' travailler tout à fait la syntaxe.

$("ul li").click(function(event){
  $("input").val($(this).html());             
});
<ul>
    <li><a href="http://www.google.com" id="google">Google</a>
</ul>
Était-ce utile?

La solution

Je ne vois pas l'échantillon HTML, mais

$(this).find('a:first').attr('id')

le ferait (fix a: premier sélecteur si ce n'est pas ce que vous vouliez dire)

ce se référer à l'élément qui a déclenché votre événement

Autres conseils

Pour rendre votre code un peu plus propre, permet de lier déclenche avec des fonctions comme ceci: (Je vous suggère de donner votre UL un code d'identification est spécifique aux seuls éléments au sein de cette UL)

$('ul li').bind('click', getAnchorId);

La fonction appelée (getAnchorId) obtient l'attribut ID de l'élément enfants (a) de l'élément clicked (ul li) et l'applique à une variable (anchorId), et de montrer son obtenir les informations correctes je mets le résultat dans une alerte.

function getAnchorId() {
    var anchorId = $(this).children('a').attr('id');
    alert(anchorId);
}

u peut faire ce que u veulent avec cette variable:)

espérons que cette aide:)

Vous pouvez utiliser la méthode children:

$(this).children('a').eq(0).attr('id');

Je ne suis pas sûr de la syntaxe, mais quelque chose comme ça devrait fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top