名前と ID の 2 つの値を持つアイテムのリストがあります。各リスト項目は、Cookie から抽出されたデータを使用して作成されます。また、基本的に HTML を見て、その項目を Cookie から削除する削除ボタンもあります。きれいではありませんが、うまく機能します。
突然、3 番目の値 (img src) が導入されました。そのため、Cookie を作成してリストを作成する新しい関数を作成しました。人生はまだかなり素晴らしいです。
ただし、配列からアイテムを削除しようとすると、問題が発生します。
JS
$('.deleteNewCookie').on('click', function () {
var val = $(this).prev().prev().html(); // Search DOM for value
var cookieStr = cookieData.split('|');
createCookie('cokLocation', "", -1);
var newCookie = '';
$.each(cookieStr, function (index, value) {
if (value != '') {
var cookieAdd = value.split(',');
if (cookieAdd[1] != val) {
newCookie = newCookie + value + '|';
}
}
});
createCookie('cokLocation', newCookie, '300');
});
これは、Cookie 内の 1 つのアイテムがどのように見えるかです。
ID,Name,/image.png|
マークアップがよりシンプルで ID と名前しかなかった場合、これは意図したとおりに機能しますが、ここでクリックする.deleteNewCookie
と、画像ソースが Cookie に残ります。その配列 (項目) 内のすべてを削除するにはどうすればよいですか? 最初の 2 つの値だけを明らかに削除するのはなぜですか?
マークアップ
<li>
<div class="myLocImg">
<img src="/image.png">
</div>
<div class="myLocInfo">
<h3>NAME</h3>
<span url="locationid=ID" class="btn">More details</span>
<a class="deleteNewCookie">Remove</a>
</div>
</li>
私は自分の Cookie を再構築することに少し気が進まないのですが (他の場所で使用されているため)、最後の手段として説得されるかもしれません。また、プラグインも使用しておらず、インポートすることにあまり興味がありません。プレーンな JS または jQuery ソリューションのみでお願いします。:)