【发布时间】:2012-10-15 22:08:51
【问题描述】:
我有这部分代码可以根据列表项的 ID 号在单击时将列表项保存到 localStorage。然后,我可以在不同的页面上加载保存的任何列表项。
var save1075 = $('#store-1075').get(0);
$('#store-1075').on('click', function () {
var storeStorageKey1075 = $(this).attr('id');
localStorage.setItem('storeStorageKey1075', $(this).attr('id'));
localStorage.setItem('storeStorageKey1075', this.innerHTML);
});
if ( localStorage.getItem('storeStorageKey1075') ) {
save1075.innerHTML = localStorage.getItem('storeStorageKey1075');
}
var storeStorageKey1075 = $(this).attr('id');
if ( localStorage.getItem('storeStorageKey1075') ) {
storeStorageKey1075 = localStorage.getItem('storeStorageKey1075');
}
现在我必须为每个单独的 id 号重复该代码块,我试图将 id 号改为一个变量,在单击时循环遍历所有可能的 id 号,但只保存那个特定的 id。也许是这样的:
var id = //some sort of loop or array of possible ids.
var save = $('#store-'+id).get(0);
$('#store-'+id).on('click', function () {
var storeStorageKey = $(this).attr('id');
localStorage.setItem('storeStorageKey', $(this).attr('id'));
localStorage.setItem('storeStorageKey', this.innerHTML);
});
if ( localStorage.getItem('storeStorageKey') ) {
save.innerHTML = localStorage.getItem('storeStorageKey');
}
var storeStorageKey = $(this).attr('id');
if ( localStorage.getItem('storeStorageKey') ) {
storeStorageKey = localStorage.getItem('storeStorageKey');
}
每个列表项都有相同的前缀“store-”,并且数字没有特定的顺序,而是在每次创建新的商店位置时随机生成。
【问题讨论】:
-
你为什么将
localStorage中的storeStorageKey设置为id,然后他们立即用innerHTML覆盖它?
标签: javascript arrays variables loops local-storage