แม้ว่าจะมีตัวอย่างบางส่วนเกี่ยวกับเรื่องนี้บนเว็บ แต่ดูเหมือนว่าจะทำงานไม่ถูกต้อง ฉันคิดปัญหาไม่ออก
ฉันมี html ง่ายๆนี้
<div id="foo" data-num="0"></ div>
<a href="#" id="changeData">change data value</a>
ทุกครั้งที่คลิกลิงก์ "เปลี่ยนค่าข้อมูล" ฉันต้องการอัปเดตค่าข้อมูลของ data-num ตัวอย่างเช่นฉันต้องการให้เป็น 1,2,3,4, ... (บวก 1 ทุกครั้งที่คลิกลิงก์)
สิ่งที่ฉันมีคือ
var num = $('#foo').data("num");
console.log(num);
num = num+1;
console.log(num);
$('#foo').attr('data-num', num);
ค่าจะเปลี่ยนหนึ่งครั้งจาก 0 ถึง 1 ทุกครั้ง ฉันไม่สามารถเพิ่มจำนวนได้ ข้อเสนอแนะสิ่งที่ฉันทำผิด?
.data()และการจัดการมีการใช้ แอตทริบิวต์ไม่ได้รับการอัปเดตและไม่ควรใช้เพื่อจัดเก็บหรือดึงข้อมูลเพียงเพื่อตั้งค่าข้อมูลในตอนแรกเท่านั้น