2016-06-25 5 views
0

ローカルストレージを使ってリストを表示していますが、localStorageアイテムの最後に追加しています。 localStorageから特定の文字列を削除するにはどうすればよいですか?それらはすべて一意のIDを持つfibクラスにあります。divの間からHTMLを削除するだけでも動作しますが、実際にlocalStorageアイテム内でどのように実行するのかわかりません。localstorageの文字列を削除する

+1

文字列の例を表示できますか? – Erevald

+0

申し訳ありませんが、私はモバイルで、投稿にコードを追加する方法がわかりません – Skitty

答えて

2
それは実際にはHTMLですので

することは、単にcreateDocumentFragmentを使用してバック HTMLにそれを回す:

var yourHTML = getItFromLocalStorage(); 

var fragment = document.createDocumentFragment(); 
fragment.appendChild(document.createElement('div')); 
fragment.firstChild.innerHTML = yourHTML; 
var yourElement = fragment.getElementById('your_id'); 
yourElement.parentNode.removeChild(yourElement); 
// fragment.firstChild now contains your HTML *without* the 
// element with your_id 
+0

これは私が必要としたのと同じように見えます。しかし、私はそれを使用すると、私のlocalStorage全体を[object HTMLDivElement]に置き換えます – Skitty

+0

実際に結果をローカルストレージに保存したい場合、 'fragment.firstChild.innerHTML'でHTMLに変換する必要があります –

-1

あなたは文字列のリストを使用してのlocalStorageに保存しますが、あなたが最初にそれを文字列化と検索に戻ってそれを解析する必要がありますすることができます。ヘルパー関数を作成してコード/時間を保存することができます。

function setItem(key, obj){ 
    localStorage.setItem(key, JSON.stringify(obj)); 
} 

function getItem(key){ 
    return JSON.parse(localStorage.getItem(key)); 
} 

var data = []; 
data.push('a'); // ['a'] 

setItem('data', data); 

data = getItem('data'); // ['a'] 

data.push('b'); // ['a', 'b'] 

setItem('data', data); 

data = getItem('data'); // ['a', 'b'] 

data.splice(data.indexOf('a'), 1); // ['b'] 

setItem('data', data); 

data = getItem('data'); // ['b'] 


console.log(data); // ['b'] 
+0

いいえjsonが問題に使用されていることに言及してください。たとえそうであっても...これは質問が何を求めているのかを説明していません – charlietfl

+0

彼はlocalStorageについて尋ねました。そして、解析せずに配列を文字列化して取り出すことなくリストをlocalStorageに保存する方法は? –

+0

?もう一度質問を読んでください。 – charlietfl

関連する問題