Rumah > Soal Jawab > teks badan
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
P粉3641297442024-04-04 11:01:12
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:
const id = $("#example").data("id"); console.log(typeof id); // number
<div id="example" data-id="123"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>