2012-08-11 42 views
0

這裏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

回答

1

我真的不認爲該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(); 
} 
​ 
0

看看這個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