function setL(sname, svalue) {
localStorage.setItem(sname, svalue)
}
function getL(sname) {
if (!localStorage.getItem(sname)) localStorage.setItem(sname, "")
return localStorage.getItem(sname)
}
function delL(sname) {
localStorage.removeItem(sname)
}
for (i = 0; i < options.length; i++) {
if (getL(options[i]) == null) {} else {
$("#" + options[i]).attr("value", getL(options[i]));
$(options_target[i]).css(options_change[i], getL(options[i]));
}
};
getL
从localstorage
获取值。所以我的循环是 var options = ["bg_color", "bottom_bar_color", "button_color", "dialog_color", "notify_color", "button_text_color"];
var options_target = ["body", "#bottom", ".ugly-button", ".dialog", ".notification .notification-body", ".ugly-button"];
var options_change = ["background", "background", "background", "background", "color"];
它使用设置为localstorage的“选项”数组的值来为适当的元素设置适当的css值。
这曾经在一天前工作..但是现在我遇到了意外错误..
未捕获的TypeError:无法读取未定义的属性“替换”
我的代码中没有替换,因此有人可以帮助我调试代码并在可能的情况下对其进行修复吗?
最佳答案
var options = ["bg_color", "bottom_bar_color", "button_color", "dialog_color", "notify_color", "button_text_color"];
var options_target = ["body", "#bottom", ".ugly-button", ".dialog", ".notification .notification-body", ".ugly-button"];
var options_change = ["background", "background", "background", "background", "color"];
选项长度为6。
options_target的长度是7。
options_change的长度是5。
所以:我从0变到5。
$(options_target[i]).css(options_change[i], getL(options[i]));
当我5岁时:
options [i]具有值,options_change [i]未定义,因为它超出范围...