Rumah  >  Soal Jawab  >  teks badan

Proses menentukan sama ada unsur wujud dalam tatasusunan adalah tidak sah

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粉204136428P粉204136428180 hari yang lalu395

membalas semua(1)saya akan balas

  • P粉364129744

    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>

    balas
    0
  • Batalbalas