หมายเหตุบรรณาธิการ:แนวทางด้านล่างนี้มีผลกระทบด้านความปลอดภัยที่ร้ายแรงและอาจทำให้ผู้ใช้ของคุณถูกโจมตี XSS ได้ทั้งนี้ขึ้นอยู่กับเวอร์ชันของ jQuery ที่คุณใช้ สำหรับรายละเอียดเพิ่มเติมโปรดดูที่การอภิปรายของการโจมตีที่เป็นไปได้ในการแสดงความคิดเห็นในคำตอบนี้หรือคำอธิบายนี้ในการรักษาความปลอดภัยกองแลกเปลี่ยน
คุณสามารถใช้location.hash
คุณสมบัติเพื่อคว้าแฮชของหน้าปัจจุบัน:
var hash = window.location.hash;
$('ul'+hash+':first').show();
โปรดสังเกตว่าคุณสมบัตินี้มี#
สัญลักษณ์ที่จุดเริ่มต้นอยู่แล้ว
อันที่จริงคุณไม่จำเป็นต้อง:first
ใช้ตัวเลือกหลอกเนื่องจากคุณใช้ตัวเลือก IDถือว่า ID ไม่ซ้ำกันภายใน DOM
ในกรณีที่คุณต้องการรับแฮชจากสตริง URL คุณสามารถใช้String.substring
วิธีการ:
var url = "http://example.com/file.htm#foo";
var hash = url.substring(url.indexOf('#'));
คำแนะนำ:โปรดทราบว่าผู้ใช้สามารถเปลี่ยนแฮชได้ตามที่ต้องการโดยฉีดอะไรเข้าไปในตัวเลือกของคุณคุณควรตรวจสอบแฮชก่อนใช้งาน