<a href'nin bir dizeyle biteceği <a> seçin


669

JQuery kullanarak <a>href "ABC" ile biten tüm bağlantıları seçmek mümkün mü ?

Örneğin, bu bağlantıyı bulmak istersem <a href="http://server/page.aspx?id=ABC">

Yanıtlar:


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

Seçici belgeleri http://docs.jquery.com/Selectors adresinde bulunabilir.

Özellikler için:

= 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
son zamanlarda bir şeyler değişti. $ ('[href $ = - abc]') kullanılır. Şimdi tırnak işaretleri gerektiriyor $ ('[href $ = "- abc"]') Ne zaman değiştiğini bilmiyorum. Belki de her zaman alıntı gerektirmesi gerekiyordu ve daha önce işe yaradı.
gman

12
"ABC" nin büyük / küçük harfe duyarlı olduğunu unutmayın! (Bunu bulmak için biraz zaman harcadım ...)
Louis Somers

Nasıl href jquery ABC içermiyor
sf.dev

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

9
Bu şimdi vanilya javascirpt ile çalışıyor. Bunu document.querySelectorAll('a[href$="ABC"]')başarmak için kullanabilirsiniz .
k-nut

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

Bu, URL'si "ABC" ile biten ilk bağlantının başlığını döndürür.


4
Düzeltme: ABC ile biten
sparkyspider

Aslında ufak bir fark var. Bu, verilen href ile ilk bağlantıyı seçecektir, bu yalnızca bir tanesini değiştirmeniz gerektiğinde yararlıdır.
alekwisnia

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

2
Bu cevaptan yardımcı olabilecek gelecekteki ziyaretçiler için.
sscirrus

@ Cevabınızın yalnızca OP'lerin ABCbir kimliğe başvurması durumunda doğru olduğunu unutmayın .
sscirrus


2

Bu önemsiz bir şeyi başarmak için jQuery gibi büyük bir kütüphaneyi içe aktarmak istemiyorsanız, querySelectorAllbunun yerine yerleşik yöntemi kullanabilirsiniz . JQuery için kullanılan neredeyse tüm seçici dizeler DOM yöntemleriyle de çalışır:

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

Veya yalnızca bir eşleşen öğe olduğunu biliyorsanız:

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

Aradığınız değer alfasayısal ise, genellikle öznitelik değeri etrafındaki tırnak işaretlerini atlayabilirsiniz, örneğin burada da

a[href$=ABC]

ancak alıntılar daha esnektir ve genellikle daha güvenilirdir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.