2013-09-23 26 views
0

根據我讀過的內容,我期望下面的代碼可以工作。將localStorage設置爲現有的localStorage變量

此代碼是一個函數的一部分,該函數應該通過用下一個更高的localStorage變量覆蓋localStorage變量來刪除localStorage變量。一旦沒有更多的副本,最終的變量將被刪除。

'cc'在其他地方記錄了某個div的數量(每個div有三種與之相關的localStorage變量)。

「x」保存被點擊的div的數組位置。

所發生的只是「警報」。代碼是天生錯誤的,還是我在其他地方犯了一個錯誤?

for (z = x; z < cc; z++) { 
alert(z + " " + cc); 
localStorage.setItem("names" + z), localStorage.getItem("names" + (z + 1)); 
localStorage.setItem("skillLevel" + z), localStorage.getItem("names" + (z + 1)); 
localStorage.setItem("title" + z), localStorage.getItem("names" + (z + 1)); 
localStorage.removeItem("names" + (z + 1)); 
localStorage.removeItem("skillLevel" + (z + 1)); 
localStorage.removeItem("title" + (z + 1)); 
} 

回答

2

setItem似乎拋出一些語法錯誤,你過早封閉)

localStorage.setItem("names" + z), localStorage.getItem("names" + (z + 1)); 
           ^
           That ends the setItem func right there 

我相信你想:

localStorage.setItem("names" + z, localStorage.getItem("names" + (z + 1))); 
+0

是的 - 就是這樣!謝謝。 – Russell

+0

@Russell - 如果問題解決了,請務必標記答案! – tymeJV

0

你可以這樣做更多高效地與http://rhaboo.org

var store = Rhaboo.persistent("Players"); 
if (store.players === undefined) { //first run 
    store.write('players', []); 
    store.players.push(
    {name: 'fred', level: 'noob',  title: 'Mr'}, 
    {name: 'joe', level: 'advanced', title: 'Mr'}, 
    {name: 'jill', level: 'ninja', title: 'Ms'} 
); 
} 
store.players.splice(1,1); //deletes joe 

Rhaboo將此數組存儲爲鏈表,因此要刪除joe,只需釋放他的localStorage槽並將fred.next路由到jill即可。

順便說一句我寫了rhaboo。