真の特定の要素(この場合はすべて「widget」クラス)をループし、idとtitle(後でさらに多くのもの)を取得して、localStorageにJSONとして保存します(データを文字列化するため、文字列である必要があります) 、localStorageからデータを取得し、結果をループします。ループしたい(JSON出力が有効)まではすべてうまくいきますが、これは機能しません。私は1日以上取り組んでいるので、私が間違っていることを誰かに見てもらいたいと思います。
(はい、私はウェブを見ました)
私はまだこれに慣れていないので、これを保存してループするより良い方法がある場合は私に知らせてください。
// 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);
// output(json valid)
{
"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
}