将div内容保存在cookie中

时间:2013-03-19 13:20:38

标签: javascript jquery html cookies store

首先,在我的网站中,DIV是动态添加的,具有唯一ID(如div0,div1,div2 ......)。用户可以添加或删除这些DIV:添加时,数组存储DIV唯一ID;删除时,同一个数组删除DIV id。 所有那些DIV都有很多输入字段,我想存储这些内容(即使它是空白的)。我已经找到了解决方案,我找到了类似的东西:

var numCookies=0;
function setCookie(){
    var name;
    for(var i=0; i<arrayDivs.length; i++){//ArrayDivs is the array with the DIV id's.
          name='cookie'+numCookies;
          $.cookie(name, $('#'+arrayDivs[i]).html(),{expires:10});                 
          numCookies++;                                                         
    }
} 

当我尝试“显示”(警告)时 - 例如 - 'cookie0',警报为“null”。

name='cookie0';
alert(name);
var myCookie=($.cookie(name));
alert(myCookie); //here the alert is 'null'

创建至少1个div,因此“arrayDivs”不为空,并创建“cookie0”。 显然我做错了(非常错误哈哈)。如何在Cookie中存储DIV(及其所有内容)?如果这个实现没有完全错误,我该如何解决? 提前谢谢。

3 个答案:

答案 0 :(得分:0)

你可以通过迭代获得cookie

var nameEQ = 'cookie0' ;
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) 
             result=c.substring(nameEQ.length,c.length);//this will be the cookie0 :)
}

答案 1 :(得分:0)

您可以先尝试这个简单的示例开始:

// set
$.cookie("cookie", $('#dvContainer').html())

// get
var content = $.cookie("cookie");
var $dvContainer = $('<div class="">' + content + '</div>');

$('body').append($dvContainer);

Demo here

答案 2 :(得分:0)

试试这个

http://jsfiddle.net/adiioo7/zSBnG/

使用div的公共类并使用以下代码块。

JS代码: -

var numCookies = 0;

$(function () {
    $(".cookieClass").each(function () {
        name = 'cookie' + numCookies;
        $.cookie(name, $(this).html(), {
            expires: 10
        });
        numCookies++;
    });

    $("#btnCookie").on("click",function(){
        alert("Cookie 0 : " +$.cookie("cookie0"));
        alert("Cookie 1 : " +$.cookie("cookie1"));
        alert("Cookie 2 : " +$.cookie("cookie2"));
    });

});

HTML代码: -

<div id="div0" class="cookieClass">val1</div>
<div id="div1" class="cookieClass">val2</div>
<div id="div2" class="cookieClass">val3</div>


<input type="button" id="btnCookie" value="Show Cookie"></input>