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]));
    }
};


getLlocalstorage获取值。所以我的循环是

  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]未定义,因为它超出范围...

07-24 13:56