这是我的代码
if(jQuery.cookie("box1") == "close") {
jQuery("#box1").remove();
};
我已经为每个盒子准备了单独的 cookie。现在我想用 jquery 检查 cookie,如果 cookie 值为“关闭”,则删除相应的框。
我怎样才能使该代码与其他盒子一起使用?.其他盒子有相似的ID(盒子2,盒子3),每个盒子都有一个cookie
这是我的代码
if(jQuery.cookie("box1") == "close") {
jQuery("#box1").remove();
};
我已经为每个盒子准备了单独的 cookie。现在我想用 jquery 检查 cookie,如果 cookie 值为“关闭”,则删除相应的框。
我怎样才能使该代码与其他盒子一起使用?.其他盒子有相似的ID(盒子2,盒子3),每个盒子都有一个cookie
我真的不认为 cookie 插件具有迭代 cookie 的选项,但您可以自己获取所有设置的 cookie,然后迭代它们以查看值是否为close
,然后删除相应的元素,例如:
function get_cookies() {
var cookies = { };
if (document.cookie && document.cookie != '') {
var split = document.cookie.split(';');
for (var i = 0; i < split.length; i++) {
var name_value = split[i].split("=");
name_value[0] = name_value[0].replace(/^ /, '');
cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
}
}
return cookies;
}
var cookies = get_cookies();
for(var name in cookies) {
if (cookies[name] == 'close') jQuery("#"+name).remove();
}
看看这个jquery.cookie
插件:jQuery.cookie。
它将允许您使用类似于以下的代码获得所需的结果:
if ($.cookie('box1') === 'close') {
$('#box').remove();
}
或者,在仍然使用此插件的同时,您可以做的是将 JSON 对象存储在要隐藏的框的 cookie 中,这样您可以使其更通用,并使用以下内容实现它:
// assuming the cookie: boxes-to-hide is an array of string id ['box1', 'box2']
$($.cookie('boxes-to-hide')).each(function() {
// this will be the id of the box to hide
$('#' + this).remove();
});