所以,这是我的代码:
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);
我不知道为什么它不起作用,任何人都可以帮助我吗?它给了我一些错误(第一个)
感谢
编辑:(对不起,我发布时很匆忙) 它给出的错误是“SyntaxError:syntax error” (顺便说一下,我使用的是Firefox) 使用javascript控制台,这段代码
for(p=0;p<opener.document.getElementsByName('link').length;p++){opener.document.getElementsByName('link').item(p).style.backgroundColor}
完美地返回元素的背景颜色,但是当我尝试将它用作localStorage中的值时,它会给出错误。
不,语法localStorage.setItem
没有问题,它就是这样,谢谢。
Edit2:如果你需要了解它的效果如何,这是我的website。弹出窗口从底部中心的链接打开。
答案 0 :(得分: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 );
}
答案 1 :(得分: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")}}}
问题解决了,问题关闭......无论如何。感谢