我有一个项目列表,其中有两个值,一个名称和一个 ID。每个列表项都是使用从 cookie 中提取的数据构建的。它还有一个删除按钮,基本上是查看 HTML,然后从 cookie 中删除该项目。它不是很漂亮,但它很管用。
现在突然之间,引入了第三个值(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 中的一项如下所示:
ID,Name,/image.png|
现在,当标记更简单并且只有 ID 和名称时,这可以按预期工作,但是当我.deleteNewCookie
现在单击时,图像源仍保留在 cookie 中。我将如何删除该数组(项目)中的所有内容?为什么它显然只删除了前两个值?
标记
<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 解决方案。:)