เลือก <a> href ที่ลงท้ายด้วยสตริง


669

เป็นไปได้หรือไม่ที่จะใช้jQueryเพื่อเลือก<a>ลิงก์ทั้งหมดที่ href ลงท้ายด้วย "ABC"

ตัวอย่างเช่นหากฉันต้องการหาลิงค์นี้ <a href="http://server/page.aspx?id=ABC">

คำตอบ:


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

สามารถดูเอกสารประกอบการเลือกได้ที่http://docs.jquery.com/Selectors

สำหรับแอตทริบิวต์:

= 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
บางสิ่งเปลี่ยนไปเมื่อเร็ว ๆ นี้ $ ('[href $ = - abc]') ใช้ในการทำงาน ตอนนี้มันต้องมีเครื่องหมายคำพูด $ ('[href $ = "- abc"]') ฉันไม่รู้ว่ามันเปลี่ยนไปเมื่อไหร่ บางทีมันควรจะต้องมีคำพูดเสมอและเพิ่งเกิดขึ้นก่อนหน้านี้
gman

12
โปรดทราบว่า "ABC" เป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่! (ใช้เวลาพอสมควรในการคิดออก ... )
Louis Somerset

วิธีรับ href ไม่มี ABC ใน jquery
sf.dev

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

9
สิ่งนี้ใช้ได้กับวานิลลาจาวาสคริปท์ตอนนี้ คุณสามารถใช้document.querySelectorAll('a[href$="ABC"]')เพื่อให้บรรลุสิ่งนี้
k-nut

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

การทำเช่นนี้จะส่งคืนหัวเรื่องของลิงค์แรกที่มี URL ซึ่งลงท้ายด้วย "ABC"


4
การแก้ไข: ซึ่งลงท้ายด้วย ABC
sparkyspider

จริงๆแล้วมีความแตกต่างเล็กน้อย นี่จะเลือกลิงค์แรกที่มี href ที่ให้ซึ่งมีประโยชน์หากคุณต้องการเปลี่ยนเพียงอันเดียว
alekwisnia

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

2
สำหรับผู้เข้าชมในอนาคตที่อาจได้รับการช่วยเหลือจากคำตอบนั้น
sscirrus

@Sumit โปรดทราบว่าคำตอบของคุณถูกต้องเฉพาะในกรณีที่ OP ABCเกิดขึ้นเพื่ออ้างถึง ID
sscirrus


2

ในกรณีที่คุณไม่ต้องการนำเข้าไลบรารีขนาดใหญ่เช่น jQuery เพื่อทำสิ่งเล็กน้อยให้สำเร็จคุณสามารถใช้วิธีการในquerySelectorAllตัวแทน สตริงตัวเลือกเกือบทั้งหมดที่ใช้สำหรับ jQuery ทำงานกับวิธี DOM เช่นกัน:

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

หรือถ้าคุณรู้ว่ามีองค์ประกอบการจับคู่เพียงรายการเดียว:

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

โดยทั่วไปคุณอาจไม่ใส่เครื่องหมายคำพูดรอบ ๆ ค่าคุณลักษณะหากค่าที่คุณค้นหานั้นเป็นตัวอักษรและตัวเลขเช่นที่นี่คุณสามารถใช้

a[href$=ABC]

แต่คำพูดที่มีความยืดหยุ่นมากขึ้นและโดยทั่วไปน่าเชื่อถือมากขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.