Maaf mengganggu anda, tetapi saya telah menghabiskan dua jam untuk memikirkan perkara ini. Masalahnya ialah kod saya hanya menambah satu elemen, tetapi tiada id lain, ia mengatakan "sudah wujud"
$(function(){ $(".js-compare-add").click(function(){ var item_id = $(this).data('id'); if(Cookies.get('compare_id_list')){ var compareListStr = Cookies.get('compare_id_list'); var compareListArr = compareListStr ? compareListStr.split(',') : []; if (compareListArr.indexOf(item_id) > -1) { compareListArr.push(item_id); Cookies.set('compare_id_list', compareListArr.join(','), {expires: 10}); alert('Save! ' + item_id); } else { alert('already have ' + item_id); } } else { alert('There was no list, we created it and added this position ' + item_id); Cookies.set('compare_id_list', item_id); } }); });
Sekiranya berlaku - Saya menggunakan ini untuk kuki https://github.com/js-cookie/js-cookie jika (jQuery.inArray(item_id,compareListArr) === -1) juga tidak membantu
Dave Newton membuat perkara yang berguna , logiknya kelihatan mundur, tetapi jika ini yang anda dapat jika anda cuba membuatnya berfungsi:
Apabila anda menggunakan
data
函数时,jQuery 会进行数据操作,它不仅仅为您提供匹配的data-id
nilai rentetan atribut. Jika teks atribut adalah semua angka, jQuery akan menukarnya kepada nombor: