ฉันกำลังสร้างหน้าเว็บที่มีการโต้ตอบจาก javascript ดังตัวอย่าง: ลิงก์ที่ส่งคำขอ AJAX เพื่อรับเนื้อหาของบทความจากนั้นแสดงข้อมูลนั้นใน div เห็นได้ชัดในตัวอย่างนี้ฉันต้องการแต่ละลิงก์เพื่อเก็บข้อมูลเพิ่มเติม: id ของบทความ วิธีที่ฉันจัดการกับมันในกรณีที่ต้องใส่ข้อมูลนั้นในลิงค์ href นี้:
<a class="article" href="#5">
ฉันใช้ jQuery เพื่อค้นหาองค์ประกอบ a.article และแนบตัวจัดการเหตุการณ์ที่เหมาะสม (อย่าเพิ่งแขวนกับการใช้งานหรือซีแมนทิกส์นี่เป็นเพียงตัวอย่าง)
อย่างไรก็ตามวิธีการนี้ใช้งานได้ แต่มีกลิ่นเล็กน้อยและไม่สามารถขยายได้เลย (จะเกิดอะไรขึ้นหากฟังก์ชันการคลิกมีพารามิเตอร์มากกว่าหนึ่งพารามิเตอร์จะเกิดอะไรขึ้นถ้าพารามิเตอร์บางตัวเป็นตัวเลือก)
คำตอบที่ชัดเจนทันทีคือการใช้คุณสมบัติกับองค์ประกอบ ฉันหมายถึงนั่นคือสิ่งที่พวกเขามีไว้ใช่มั้ย (ชนิด)
<a articleid="5" href="link/for/non-js-users.html">
ในคำถามล่าสุดของฉันฉันถามว่าวิธีนี้ใช้ได้หรือไม่และมันกลับกลายเป็นว่าการกำหนด DTD ของฉันเอง (ฉันทำไม่ได้) ไม่ใช่ว่ามันไม่ถูกต้องหรือเชื่อถือได้ การตอบสนองทั่วไปคือการใส่ข้อมูลลงในclass
แอตทริบิวต์ (แม้ว่าอาจเป็นเพราะตัวอย่างที่ฉันเลือกไม่ดี) แต่สำหรับฉันมันมีกลิ่นมากกว่านี้ ใช่มันถูกต้องทางเทคนิค แต่มันไม่ใช่ทางออกที่ดี
อีกวิธีหนึ่งที่ฉันเคยใช้ในอดีตคือการสร้าง JS และแทรกลงในหน้าใน<script>
แท็กโดยสร้างโครงสร้างที่จะเชื่อมโยงกับวัตถุ
var myData = {
link0 : {
articleId : 5,
target : '#showMessage'
// etc...
},
link1 : {
articleId : 13
}
};
<a href="..." id="link0">
แต่นี่อาจเป็นความเจ็บปวดที่แท้จริงในการดูแลรักษาและโดยทั่วไปจะยุ่งเหยิงมาก
ดังนั้นเพื่อให้ได้คำถามคุณจะเก็บข้อมูลโดยพลการสำหรับแท็ก HTML ได้อย่างไร