Sélectionnez <a> quelle href se termine par une chaîne


669

Est-il possible d'utiliser jQuery pour sélectionner tous les <a>liens qui se terminent par "ABC"?

Par exemple, si je veux trouver ce lien <a href="http://server/page.aspx?id=ABC">

Réponses:


1550
   $('a[href$="ABC"]')...

La documentation du sélecteur est disponible sur http://docs.jquery.com/Selectors

Pour les attributs:

= is exactly equal
!= is not equal
^= is starts with
$= is ends with
*= is contains
~= is contains word
|= is starts with prefix (i.e., |= "prefix" matches "prefix-...")

20
quelque chose a changé récemment. $ ('[href $ = - abc]') fonctionnait. Maintenant, il nécessite des guillemets $ ('[href $ = "- abc"]') Je ne sais pas quand il a changé. Peut-être que cela devait toujours exiger des devis et que ça fonctionnait auparavant.
gman

12
Notez que "ABC" est sensible à la casse! (Je viens de passer un peu de temps à trouver celui-là ...)
Louis Somers

Comment obtenir href ne contient pas ABC dans jquery
sf.dev

1
@ sf.dev$('a').filter(function() { return !this.href || !this.href.match(/ABC/); });
tvanfosson

9
Cela fonctionne avec le javascirpt vanille maintenant. Vous pouvez simplement utiliser document.querySelectorAll('a[href$="ABC"]')pour y parvenir.
k-nut

21
$('a[href$="ABC"]:first').attr('title');

Cela renverra le titre du premier lien dont l'URL se termine par "ABC".


4
Correction: qui se termine par ABC
sparkyspider

En fait, il y a une légère différence. Cela sélectionnera le premier lien avec un href donné, ce qui est utile si vous devez en changer un seul.
alekwisnia

15
$("a[href*='id=ABC']").addClass('active_jquery_menu');

2
Pour les futurs visiteurs qui pourront être aidés par cette réponse.
sscirrus

@Sumit notez que votre réponse n'est correcte que si les PO ABCse réfèrent à un ID.
sscirrus


2

Juste au cas où vous ne voulez pas importer une grande bibliothèque comme jQuery pour accomplir quelque chose d'aussi trivial, vous pouvez utiliser la méthode intégrée à la querySelectorAllplace. Presque toutes les chaînes de sélecteurs utilisées pour jQuery fonctionnent également avec les méthodes DOM:

const anchors = document.querySelectorAll('a[href$="ABC"]');

Ou, si vous savez qu'il n'y a qu'un seul élément correspondant:

const anchor = document.querySelector('a[href$="ABC"]');

Vous pouvez généralement omettre les guillemets autour de la valeur d'attribut si la valeur que vous recherchez est alphanumérique, par exemple, ici, vous pouvez également utiliser

a[href$=ABC]

mais les devis sont plus flexibles et généralement plus fiables .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.