首先,在我的网站中,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(及其所有内容)?如果这个实现没有完全错误,我该如何解决? 提前谢谢。
答案 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);
答案 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>