Pilih <a> yang href diakhiri dengan beberapa string


669

Apakah mungkin menggunakan jQuery untuk memilih semua <a>tautan yang href diakhiri dengan "ABC"?

Misalnya, jika saya ingin menemukan tautan ini <a href="http://server/page.aspx?id=ABC">

Jawaban:


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

Dokumentasi pemilih dapat ditemukan di http://docs.jquery.com/Selector

Untuk atribut:

= 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
sesuatu berubah baru-baru ini. $ ('[href $ = - abc]') digunakan untuk bekerja. Sekarang ini membutuhkan tanda kutip $ ('[href $ = "- abc"]') Saya tidak tahu kapan itu berubah. Mungkin seharusnya selalu meminta penawaran dan kebetulan bekerja sebelumnya.
gman

12
Perhatikan bahwa "ABC" peka huruf besar-kecil! (Hanya menghabiskan beberapa waktu untuk mencari tahu ...)
Louis Somers

Cara mendapatkan href tidak mengandung ABC di jquery
sf.dev

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

9
Ini berfungsi dengan javascirpt vanilla sekarang. Anda cukup menggunakan document.querySelectorAll('a[href$="ABC"]')untuk mencapai ini.
k-nut

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

Ini akan mengembalikan judul tautan pertama yang memiliki URL yang diakhiri dengan "ABC".


4
Koreksi: Yang berakhir dengan ABC
sparkyspider

Sebenarnya ada sedikit perbedaan. Ini akan memilih tautan pertama dengan href yang diberikan, yang berguna jika Anda hanya perlu mengubah satu.
alekwisnia

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

2
Untuk pengunjung masa depan yang mungkin terbantu dengan jawaban itu.
sscirrus

@Sumit perhatikan bahwa jawaban Anda hanya benar jika OP's ABCkebetulan merujuk ke ID.
sscirrus


2

Jika Anda tidak ingin mengimpor perpustakaan besar seperti jQuery untuk menyelesaikan sesuatu yang sepele ini, Anda dapat menggunakan metode querySelectorAllbawaan sebagai gantinya. Hampir semua string pemilih digunakan untuk jQuery bekerja dengan metode DOM juga:

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

Atau, jika Anda tahu bahwa hanya ada satu elemen yang cocok:

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

Anda biasanya dapat menghilangkan tanda kutip di sekitar nilai atribut jika nilai yang Anda cari adalah alfanumerik, misalnya, di sini, Anda juga bisa menggunakan

a[href$=ABC]

tetapi kutipan lebih fleksibel dan umumnya lebih dapat diandalkan .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.