我想循环真正的某些元素,在这种情况下,所有元素都使用“小部件”类,并获得 id 和标题(稍后会介绍更多内容),将其作为 JSON 存储在 localStorage 中(必须是字符串,因此我们将数据字符串化) ,从 localStorage 中获取数据并循环结果。一切都很顺利,直到我想循环它(JSON输出有效),这不起作用,我已经工作了一天多,所以我希望任何人都能看到我做错了什么。
(是的,我在网上看过)
我仍然是一个菜鸟,所以如果有更好的方法来存储和循环,请告诉我。
// html
<div class="widget" id="w1">
<h2>some text</h2>
</div>
...
...
...
// 设置数据
var storeStr = '';
storeStr += '{"widget":[';
$('.widget').each(function(){
storeStr += '{';
storeStr += '"id": "'+$(this).attr('id')+'",';
storeStr += '"title": "'+$(this).children('h2').text()+'"';
storeStr += '},';
});
storeStr += ']}';
var storeStr = storeStr.replace(/\},]/g,'}]');// comma cleanup
localStorage.setItem('thelskey', storeStr);
// 输出(json 有效)
{
"widget":[
{"id": "w1","title": "xxxxx"},
{"id": "w2","title": "xxxxx"},
{"id": "w3","title": "xxxxx"},
{"id": "w4","title": "xxxxx"}
]
}
// 循环
var json = JSON.parse(localStorage.getItem('thelskey'));
for(var key in json){
//output
}