【发布时间】:2012-01-10 13:38:37
【问题描述】:
我的页面上有一些 div 编码为
<div id="1">Click Me to load corresponding dynamicList</div><ul class="dynamicList"></ul>
<div id="2">Click Me to load corresponding dynamicList</div><ul class="dynamicList"></ul>
<div id="3">Click Me to load corresponding dynamicList</div><ul class="dynamicList"></ul>
<div id="4">Click Me to load corresponding dynamicList</div><ul class="dynamicList"></ul>
<div id="5">Click Me to load corresponding dynamicList</div><ul class="dynamicList"></ul>
现在点击任何 div 时,会进行 AJAX 调用,将动态列表返回为;
<li>Some content 1</li>
<li>Some content 2</li>
<li>Some content 3</li>
我想在第一次 AJAX 调用之后将上述动态列表存储在 localStorage 中。所以我写了;
var key = $(selectedDiv).attr('id');
var value = str; //str = Returned AJAX response of li's
localStorage.setItem(key, value);
现在在下一页加载时,我想在 DOM 中的正确位置附加所有动态列表(所有用户之前点击过的)(因此在下次点击期间不会对数据进行 AJAX 调用)
for (i=0;i<localStorage.length;i++)
{
var key = localStorage.key(i);
if(key != null)
{
var value = localStorage.getItem(key);
$("#"+i).next(".dynamicList").empty();
$("#"+i).next(".dynamicList").append(value);
}
}
现在 localStorage 的顺序似乎存在一些问题,因为正确的 dynamicList 没有附加到正确的位置。 我想这条线有一些问题
var key = localStorage.key(i);
请告诉我如何解决这个问题。
【问题讨论】:
标签: ajax html local-storage