与相应的身份证号码

问题描述:

这里jQuery的目标元素是我的代码与相应的身份证号码

if(jQuery.cookie("box1") == "close") { 
     jQuery("#box1").remove(); 
}; 

我已经有每盒个别饼干。现在我想用jquery检查cookie,如果cookie值是'close',则删除相应的框。

我怎样才能使代码与其他箱子一起工作? 。其他盒子有类似的ID(box2,box3),每个盒子都有一个cookie

+0

好的,是什么问题? – undefined 2012-08-11 15:19:37

+0

我不知道如何让它与其他盒子一起工作。我不想简单地重复每个框的代码 – rzr 2012-08-11 15:28:10

+0

您将存储在cookie中的什么将存储名称?你能举一个例子吗? – 2012-08-11 15:29:26

我真的不认为该Cookie插件有一个选项来遍历饼干,但你可以得到所有的集你自己饼干,只是迭代他们,看看是否VA lue是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对象隐藏,这样你可以把它稍微更通用,并用以下实现:

// 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(); 
}); 
+0

我不完全确定,但看着他的语法我建议他可能已经在使用jQuery.cookie插件,可能没有冲突,但可能语法看起来完全相同。 – 2012-08-11 15:28:27