Chọn <a> which href kết thúc bằng một số chuỗi


669

Có thể sử dụng jQuery để chọn tất cả các <a>liên kết mà href kết thúc bằng "ABC" không?

Ví dụ: nếu tôi muốn tìm liên kết này <a href="http://server/page.aspx?id=ABC">

Câu trả lời:


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

Tài liệu chọn có thể được tìm thấy tại http://docs.jquery.com/Selector

Đối với thuộc tính:

= 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
một cái gì đó thay đổi gần đây. $ ('[href $ = - abc]') được sử dụng để làm việc. Bây giờ, nó yêu cầu dấu ngoặc kép $ ('[href $ = "- abc"]') Tôi không biết khi nào nó thay đổi. Có lẽ nó luôn được yêu cầu báo giá và chỉ tình cờ làm việc trước đây.
gman

12
Lưu ý rằng "ABC" phân biệt chữ hoa chữ thường! (Chỉ mất khá nhiều thời gian để tìm ra điều đó ...)
Louis Bolog

Cách nhận href không chứa ABC trong jquery
sf.dev

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

9
Điều này hoạt động với vanilla javascirpt bây giờ. Bạn chỉ có thể sử dụng document.querySelectorAll('a[href$="ABC"]')để đạt được điều này.
k-nut

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

Điều này sẽ trả về tiêu đề của liên kết đầu tiên có URL kết thúc bằng "ABC".


4
Sửa chữa: Kết thúc bằng ABC
sparkyspider

Trên thực tế, có một sự khác biệt nhỏ. Điều này sẽ chọn liên kết đầu tiên với cho href, rất hữu ích nếu bạn chỉ cần thay đổi một liên kết.
alekwisnia

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

2
Đối với du khách trong tương lai, những người có thể được giúp đỡ bởi câu trả lời.
sscirrus

@Sumit lưu ý rằng câu trả lời của bạn chỉ đúng nếu OP ABCxảy ra để chỉ ID.
sscirrus


2

Chỉ trong trường hợp bạn không muốn nhập một thư viện lớn như jQuery để thực hiện một cái gì đó tầm thường này, bạn có thể sử dụng phương thức tích hợp querySelectorAllthay thế. Hầu như tất cả các chuỗi bộ chọn được sử dụng cho jQuery cũng hoạt động với các phương thức DOM:

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

Hoặc, nếu bạn biết rằng chỉ có một yếu tố phù hợp:

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

Nói chung, bạn có thể bỏ qua các trích dẫn xung quanh giá trị thuộc tính nếu giá trị bạn đang tìm kiếm là chữ và số, ví dụ: ở đây, bạn cũng có thể sử dụng

a[href$=ABC]

nhưng trích dẫn linh hoạt hơn và thường đáng tin cậy hơn .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.