2016-12-05 13 views
1

jQueryで簡単なTo-Doリストを作成しようとしていて、問題に遭遇しました。これは私が初めてlocalStorageを使用しようとしたときです。だから私のTo-Doリストの構造を作った後、私はページをリフレッシュするときに自分のアイテムを見たいと思っていました。だから、最初に私はJSでこの行を追加:localstorageからアイテムを削除する

localStorage.setItem("todolist", $('#todoList').html()); 

それから私は

$('#todoList').html(localStorage.getItem("todolist")); 

を追加し、この部分は罰金働いていたが、私は私のto-do項目を削除するために私deleteListItem()機能上の別の行に望んでいましたストレージから。私は、ブラウザからの私の全体の<ul>要素を削除し、この行を追加した後

localStorage.removeItem("todolist", $('#todoList').html()); 

:これは私が追加された行をしました。 localStorageでTo-Doリストを正しく動作させる方法もあります。

if (localStorage.getItem("todolist") != null) { 
    $('#todoList').html(localStorage.getItem("todolist")); // This reads items in our local storage 
} 

:何かがすでにのlocalStorageに存在する場合

http://jsbin.com/ciyufi/2/edit?html,js,output

+0

'storage.removeItem'は1つのパラメータしか受け取りません。 'localStorage.removeItem(" todolist ")'を試してください。 – Dekel

+0

メモリを節約することに懸念はありますか? localstorageはマップのように動作します。同じキーで別の値を設定した場合、そこに存在するものが上書きされます。新しいアイテムを設定する前にアイテムを削除する必要はありません。 – devilfart

+0

@devilfart My ToDoのリストは新しい「li」要素を作成しており、ブラウザをリフレッシュするときにそれらをそのまま残しておきたい。たとえば、3つのタスクを追加してリフレッシュするときに削除すると、そんなことはできません。 – Karadjordje

答えて

1

は、あなたが最初にチェックする必要があります:あなたはより良い私がやっているかを理解してここ

は私JSBinですこのアップデートを確認してください:
http://jsbin.com/damedomepi/1/edit?html,js,output

+0

失敗した関数の予想される出力が 'null'であることが分かっている時は、厳密な比較演算子'!== 'を自由に使用してください。この特定のケースではそれほど変わることはありませんが、それは良い習慣です! –

関連する問題