Wählen Sie <a> aus, wobei href mit einer Zeichenfolge endet


669

Ist es möglich, mit jQuery alle <a>Links auszuwählen, deren href mit "ABC" endet?

Zum Beispiel, wenn ich diesen Link finden möchte <a href="http://server/page.aspx?id=ABC">

Antworten:


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

Die Selector-Dokumentation finden Sie unter http://docs.jquery.com/Selectors

Für Attribute:

= 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
etwas hat sich kürzlich geändert. $ ('[href $ = - abc]') hat früher funktioniert. Jetzt sind Anführungszeichen erforderlich $ ('[href $ = "- abc"]') Ich weiß nicht, wann es sich geändert hat. Vielleicht sollte es immer Zitate erfordern und funktionierte gerade vorher.
Gman

12
Beachten Sie, dass bei "ABC" zwischen Groß- und Kleinschreibung unterschieden wird! (
Louis Somers

Wie man href bekommt enthält kein ABC in jquery
sf.dev

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

9
Dies funktioniert jetzt mit Vanille-Javascirpt. Sie können einfach verwenden document.querySelectorAll('a[href$="ABC"]'), um dies zu erreichen.
K-Nuss

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

Dies gibt den Titel des ersten Links zurück, dessen URL mit "ABC" endet.


4
Korrektur: Was mit ABC endet
Sparkyspider

Eigentlich gibt es einen kleinen Unterschied. Dadurch wird der erste Link mit der angegebenen href ausgewählt. Dies ist nützlich, wenn Sie nur einen ändern müssen.
Alekwisnia

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

2
Für zukünftige Besucher, denen diese Antwort möglicherweise hilft.
sscirrus

@Sumit Beachten Sie, dass Ihre Antwort nur dann korrekt ist, wenn sich die OPs ABCzufällig auf eine ID beziehen.
sscirrus


2

Nur für den Fall, dass Sie keine große Bibliothek wie jQuery importieren möchten, um etwas so Triviales zu erreichen, können Sie querySelectorAllstattdessen die integrierte Methode verwenden. Fast alle für jQuery verwendeten Selektorzeichenfolgen funktionieren auch mit DOM-Methoden:

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

Oder wenn Sie wissen, dass es nur ein passendes Element gibt:

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

Sie können die Anführungszeichen um den Attributwert im Allgemeinen weglassen, wenn der gesuchte Wert alphanumerisch ist, z. B. können Sie ihn auch hier verwenden

a[href$=ABC]

Angebote sind jedoch flexibler und im Allgemeinen zuverlässiger .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.