เป็นไปได้หรือไม่ที่จะใช้jQueryเพื่อเลือก<a>
ลิงก์ทั้งหมดที่ href ลงท้ายด้วย "ABC"
ตัวอย่างเช่นหากฉันต้องการหาลิงค์นี้ <a href="http://server/page.aspx?id=ABC">
เป็นไปได้หรือไม่ที่จะใช้jQueryเพื่อเลือก<a>
ลิงก์ทั้งหมดที่ href ลงท้ายด้วย "ABC"
ตัวอย่างเช่นหากฉันต้องการหาลิงค์นี้ <a href="http://server/page.aspx?id=ABC">
คำตอบ:
$('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-...")
$('a').filter(function() { return !this.href || !this.href.match(/ABC/); });
document.querySelectorAll('a[href$="ABC"]')
เพื่อให้บรรลุสิ่งนี้
$('a[href$="ABC"]:first').attr('title');
การทำเช่นนี้จะส่งคืนหัวเรื่องของลิงค์แรกที่มี URL ซึ่งลงท้ายด้วย "ABC"
$("a[href*=ABC]").addClass('selected');
ในกรณีที่คุณไม่ต้องการนำเข้าไลบรารีขนาดใหญ่เช่น jQuery เพื่อทำสิ่งเล็กน้อยให้สำเร็จคุณสามารถใช้วิธีการในquerySelectorAll
ตัวแทน สตริงตัวเลือกเกือบทั้งหมดที่ใช้สำหรับ jQuery ทำงานกับวิธี DOM เช่นกัน:
const anchors = document.querySelectorAll('a[href$="ABC"]');
หรือถ้าคุณรู้ว่ามีองค์ประกอบการจับคู่เพียงรายการเดียว:
const anchor = document.querySelector('a[href$="ABC"]');
โดยทั่วไปคุณอาจไม่ใส่เครื่องหมายคำพูดรอบ ๆ ค่าคุณลักษณะหากค่าที่คุณค้นหานั้นเป็นตัวอักษรและตัวเลขเช่นที่นี่คุณสามารถใช้
a[href$=ABC]
แต่คำพูดที่มีความยืดหยุ่นมากขึ้นและโดยทั่วไปน่าเชื่อถือมากขึ้น