2

私はこの基本的な機能を持っています:

pid = 1;
$(function() {
    if (localStorage["key"+pid] != null) {
        var contentsOfDiv = localStorage.getItem("key"+pid);
        $("#Div").html(contentsOfdDiv);
    }
});

問題は、pid値が最終的に変更され、の内容を上書きしたくないということですkey

保存しているすべてのDivコンテンツをスタックするにはどうすればよいですか?localStorage

4

2 に答える 2

5

他のオブジェクトプロパティと同じように、localStorageエントリを反復処理できます。

for (var key in localStorage) {
    console.log(key, localStorage[key]);
}

したがって、コードは次のようになります。

$(function() {
    var lines = [];
    for (var key in localStorage) {
        if (/^key/.test(key)) { // does the key start with "key"
           lines.push(key.slice(3) + ' = ' + localStorage[key]);
        }
    }
    $("#Div").html(lines.join('<br>'));
});
于 2013-03-08T15:47:14.703 に答える
0

私がよく理解している場合は、pidを使用してオブジェクトをループします。

これを行い、連鎖的な典型的な問題を回避するための最良の方法は、次のとおりです。

(この場合、オブジェクトよりも配列の方が優れていると思います)

http://jsfiddle.net/hqkD9/

    var localStorage = ['aaaa', 'bbbbb', 'cccc', 'dddd'];   // don't forget to declare with var

    var html_string = '';
    $.each(localStorage, function(index, value) {
        html_string += value + '<br>';
    });

    $('#my_div').html(html_string);        
于 2013-03-08T16:08:58.393 に答える