javascript localstorage

javascript localstorage

本文关键字:localstorage javascript      更新时间:2023-09-26

所以,这是我的代码:

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

我很困惑,我无法再思考xD,我一直在努力使这项工作,我什至无法解释,对不起。我有一个从主页打开的弹出窗口。从弹出窗口中,我检索要从中保存背景颜色的元素,因此,通过将其保存在本地存储中,它将始终保持原样。我做过其他工作得很好,比如这样

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

我不知道为什么它不起作用,谁能帮我?它给了我某种错误(第一个)

谢谢

编辑:(对不起,我发布这个的时候很着急) 它给出的错误是"语法错误:语法错误"(顺便说一下,我正在使用火狐)使用 javascript 控制台,此代码

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

完美地返回元素的背景颜色,但是当我尝试将其用作 localStorage 中的值时,它会给出错误。不,语法localStorage.setItem没有问题,就是这样,谢谢。

编辑2:如果您需要了解它如何更好地工作,这是我的网站。 弹出窗口将从底部中心的链接打开。

您正在尝试将 for 循环设置为接受String的 setter 中。必须单独设置每个样式,并使用唯一的键值。

另外,我不认为item是一种方法...

试试这个...

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

好吧,没有人真正有效地帮助我,但至少有 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")}}}
问题

解决了,问题结束了...无论什么。谢谢