2013-10-21 34 views
-2

我目前正在研究一個HTML5項目,我需要使用localstorage。 我希望能夠從本地存儲中動態刪除項目。這意味着如果我有五個項目,並且我想要移除第二個項目,則第三個,第四個和第五個項目將被自動分配到較低的位置,以便我沒有剩餘空位(因爲這非常煩人我想打印我的整個本地存儲)。在localstorage中動態刪除和添加字符串

+1

朋友你能告訴我們你到目前爲止所嘗試過的嗎? – zzlalani

+4

localstorage是我的朋友的鑰匙,而不是一個陣列 –

+0

糟糕的做法。正如@AmineHajyoussef已經說過的,localstorage是基於key的。它完全錯誤地將它當作一個數組來處理,它可能會導致你煩惱的問題。如果我是你,我會改變方法.. –

回答

3

HTML5 localStorage又名Web存儲,使用鍵來存儲字符串值。所以,你可以通過在存儲之前將它們轉換成JSON存儲對象或數組:

// define an array of objects 
var arr = [ 
    { name : 'first', description : 'first description' }, 
    { name : 'second', description : 'second description' }, 
    { name : 'third', description : 'third description' } 
]; 

// store the array to localStorage as a JSON string 
localStorage.setItem("data", JSON.stringify(arr)); 

// retrieve the JSON from localStorage and parse it back to an array 
var arr = JSON.parse(localStorage.getItem("data")); 

// remove the second object from the array 
arr.splice(1, 1); 

// let's update the first object too 
arr[0].name = 'first name'; 

// save it back to localStorage 
localStorage.setItem("data", JSON.stringify(arr)); 
+0

謝謝!這正是我們開始需要的:)一個很好的基本解釋。我們會讓你保持最新狀態。 – JordyV

+0

謝謝你的幫助!這正是我們想要的。它按照我們希望的方式工作。將接受這個答案:) – JordyV

0
if (localStorage.text) 
{ 
    var text1 = localStorage.text; 
    var splitText1 = text1.split(','); 
    if (splitText1.length > 0) 
    for (i in splitText1) 
    { 
     var div = document.createElement("div"); 
     div.setAttribute("id", "medicament"); 
     div.innerHTML = "<h1>" + splitText1[i] + "</h1>"; document.body.appendChild(div); 
    } 
} 

這是我們用我們的屏幕上打印東西的代碼。