Comment trouver un lien dans une page en fonction de son attribut href?
Je suis en train d'essayer de trouver le premier lien de ma page dont l'url apte à "AAA"
(exemple).
Je cherche d'abord à obtenir les liens avec cette href:
$('a[href$="AAA"]')
Puis sélec la première:
$('a[href$="AAA"]')[0]
Alors la cible de l'attribut title du lien
$('a[href$="AAA"]')[0].attr("title");
Mais tout cela m'a fait "undefined", à chaque étape.
Comment faire?
Exemple d'ancrage:
<a href="contents/medias/images/news/news_test_big.jpg" title="Nouvelle réalisation en ligne 1 FR" target="_blank" class="imageLink">
- Pouvez-vous poster un extrait de l'un des réels
<a>
tags? - Voici l'un de ces liens: <a href="contents/medias/images/news/news_test_big.jpg" title="Nouvelle réalisation en ligne 1 FR" target="_blank" class="imageLink"> Merci !
- J'ai ajouté l'exemple à votre question.
- Et de la partie de la
href
êtes-vous essayer de match? - Le fullpart "contents/medias/images/news/news_test_big.jpg"
- Si ma solution? N'est-il pas une autre?
- Vous pouvez tester pour voir combien d'éléments ont été trouvés à l'aide de la
length
propriété, comme$('a[href=contents/medias/images/news/news_test_big.jpg]').length
. Journal deconsole.log()
oualert()
pour voir ce qui a été trouvée.
Vous devez vous connecter pour publier un commentaire.
Comment sur:
Puis ça dépend si vous voulez href être égale à "AAA", qui le contient, commence ou se termine avec elle. Dans ce cas, vous ne l'utilisez
href=
maishref$=
par exemple. Neil réponse contient les différents types de tests que vous pouvez utiliser.Si vous pouviez poster votre code HTML, il aiderait ainsi.
$('a[href$="AAA"]')
devrait fonctionner correctement, mais elle cherchehref
s que fin avec AAA.Essayer:
$('a[href="AAA"]')
Égal AAAOu:
$('a[href*="AAA"]')
- Contient AAAEn supposant que vous avez un correspondant de lien (c'est à dire, celle qui se termine avec AAA).
devrait fonctionner.
La raison que vous n'obtenez pas défini pour
attr
est qu'il n'est pas un objet jQuery après l'application de l'indexeur pour le résultat de la requête, il est l'élément du DOM. Pour utiliserattr
, il doit encore être un objet jQuery. À l'aide de la:first
sélecteur de réduire les résultats de la requête à la première correspondance. Depuisattr
sera de retour la valeur du premier attribut correspondant, il n'est pas strictement nécessaire, mais je pense qu'il est de l'intention plus claire. Si vous allez pour définir la valeur de l'attributattr
va s'appliquer à tous les éléments correspondants alors, dans ce cas, il est important, donc je voudrais l'utiliser dans les deux endroits pour plus de clarté.[0]
- c'est ce qui a causé l'erreur. mais$('a[href$="AAA"]')[0].attr("title");
va trop loin - il ne renvoie pasundefined
, mais trows une exception: ".attr n'est pas une fonction"La façon dont vous avez écrit, vous êtes à la recherche pour un href qu' se termine avec "AAA". Est que votre intention?
$=
signifie "se termine par"^=
signifie "commence par"~=
signifie "contient"Références: Sélecteurs jQuery