2012-07-02 30 views
1

所以,這裏是我的代碼:JavaScript的localStorage的

localStorage.setItem("nhac",for(p=0;p<opener.document.getElementsByName('link').length;p++){opener.document.getElementsByName('link').item(p).style.backgroundColor}) 

我很困惑,我想不出了XD,我已經整天,使這項工作努力,我甚至不能解釋它,對不起。 我有一個彈出窗口,我從主頁面打開。在彈出窗口中,即時檢索我想要保存背景色的元素,通過將其保存在localstorage中,它將始終保持這種狀態。 我已經做了其他人正常工作,這樣

localStorage.setItem("color_chosen2", opener.document.getElementById('header').style.color); 

我不知道爲什麼它不工作,誰能幫助我?它給了我某種錯誤的(第一個)

感謝

編輯:(對不起,我有急事時,我張貼了這個) 它給人的錯誤是「語法錯誤:語法錯誤」 (我使用Firefox的,順便說一句) 使用JavaScript控制檯,這個代碼

for(p=0;p<opener.document.getElementsByName('link').length;p++){opener.document.getElementsByName('link').item(p).style.backgroundColor} 

完全返回元素的背景顏色,但是當我嘗試使用它在localStorage的價值,它提供了一個錯誤。 不,沒有問題,語法localStorage.setItem,它是這樣,謝謝。

編輯2:如果您需要了解它的效果如何,請點擊這裏我的website。彈出窗口從底部中心的鏈接打開。

+0

「某種錯誤」並不能真正幫助我們 – hvgotcodes

+0

「語法錯誤:語法錯誤」,而使用Firefox的JavaScript控制檯 – kampeao

+0

還沒有取得任何進展,有沒有其他人有任何想法,爲什麼它會給出錯誤? – kampeao

回答

1

您正試圖將for循環設置爲接受String的setter。您必須分別設置每個樣式並使用唯一的鍵值。

另外,我不認爲item是一種方法...

嘗試......

items = opener.document.getElementsByName('link'); 
for (p = 0; p < items.length; p++){ 
    localStorage.setItem(p + 'nhac', items[p].style.backgroundColor); 
} 
+0

問題不在於localStorage.setItem(「key」,value)。 謝謝無論如何:) – kampeao

1

嘛,沒有人真正有效地幫助了我,但至少2人試圖幫助, 所以謝謝。 無論如何,我不知道我怎麼了,有一個想法,代碼工作...現在感興趣的人:

if(localStorage.getItem("color_chosen3")){ 
for(p=0;p<document.getElementsByName('link').length;p++){document.getElementsByName('link').item(p).style.backgroundColor=localStorage.getItem("color_chosen3")}}} 

問題解決了,問題已關閉...什麼的。謝謝