如果 jQuery 的 cookie 索引
If jQuery cookie index of
首先,我在 Google 上找到了很多主题,但其中 none 解决了我的问题。我找不到这些主题的正确解决方案。
使用 jquery.cookie 插件并尝试制作书签系统,我将每个项目 ID 存储在这样的 cookie 中:
$('.bookmarkAds').click(function () {
var id = $(this).attr('data-id');
if ($(this).hasClass('RedHeart')) {
$(this).removeClass('RedHeart');
$.removeCookie('Bookmark_' + id, id);
$(this).attr('title', 'Add');
} else {
$(this).addClass('RedHeart');
$.cookie('Bookmark_' + id, id, { expires: 3650 });
$(this).attr('title', 'Remove');
}
});
例如,这些是用户 cookie:
Name: Bookmark_3017403 => Content: 3017403
Name: Bookmark_3217302 => Content: 3217302
Name: Bookmark_3217302 => Content: 2217312
现在我想在页面中显示已添加书签的项目,想获取所有包含 Bookmark_
的 cookie,但找不到正确的解决方案。我试过了:
if ($.cookie().indexOf('Bookmark_') > 1) {
}
或
if (document.cookie.indexOf('Bookmark_') == -1) {
alert("1");
} else {
alert("2");
}
但没有成功。
目标: 获取索引为 Bookmark_
的所有 cookie。可能吗?还是我做错了什么?有解决办法吗?
为此,您需要遍历页面上设置的所有 cookie,并逐个检查它们。另请注意,在使用 indexOf
检查时,值 -1
表示未找到。 0
是一个有效的响应,表示匹配位于字符串的开头。试试这个:
$.each($.cookie(), function(k, v) {
if (k.indexOf('Bookmark_') != -1) {
console.log(k, v);
}
})
请注意,我必须在此示例中使用 jsFiddle,因为 SO 限制了代码段中的 cookie 访问。
首先,我在 Google 上找到了很多主题,但其中 none 解决了我的问题。我找不到这些主题的正确解决方案。
使用 jquery.cookie 插件并尝试制作书签系统,我将每个项目 ID 存储在这样的 cookie 中:
$('.bookmarkAds').click(function () {
var id = $(this).attr('data-id');
if ($(this).hasClass('RedHeart')) {
$(this).removeClass('RedHeart');
$.removeCookie('Bookmark_' + id, id);
$(this).attr('title', 'Add');
} else {
$(this).addClass('RedHeart');
$.cookie('Bookmark_' + id, id, { expires: 3650 });
$(this).attr('title', 'Remove');
}
});
例如,这些是用户 cookie:
Name: Bookmark_3017403 => Content: 3017403
Name: Bookmark_3217302 => Content: 3217302
Name: Bookmark_3217302 => Content: 2217312
现在我想在页面中显示已添加书签的项目,想获取所有包含 Bookmark_
的 cookie,但找不到正确的解决方案。我试过了:
if ($.cookie().indexOf('Bookmark_') > 1) {
}
或
if (document.cookie.indexOf('Bookmark_') == -1) {
alert("1");
} else {
alert("2");
}
但没有成功。
目标: 获取索引为 Bookmark_
的所有 cookie。可能吗?还是我做错了什么?有解决办法吗?
为此,您需要遍历页面上设置的所有 cookie,并逐个检查它们。另请注意,在使用 indexOf
检查时,值 -1
表示未找到。 0
是一个有效的响应,表示匹配位于字符串的开头。试试这个:
$.each($.cookie(), function(k, v) {
if (k.indexOf('Bookmark_') != -1) {
console.log(k, v);
}
})
请注意,我必须在此示例中使用 jsFiddle,因为 SO 限制了代码段中的 cookie 访问。