此扩展程序的代码不起作用,我没有想法

时间:2017-01-18 03:18:50

标签: javascript google-chrome google-chrome-extension roblox

我正在为Roblox网页制作这个小型Chrome扩展程序,出于某种原因,它根本不想正常工作。

错误是

Uncaught TypeError: Cannot set property 'background' of undefined
at extension_update (themeManager.js:7)
at themeManager.js:14

这是代码:

var colorOnePath = document.getElementsByClassName("navbar-fixed-top rbx-header");
var colorTwoPath = [document.getElementsByTagName("body"), document.getElementsByClassName("content")];    

var color = ["#008919", "#000000"];

function extension_update() {
    colorOnePath.style.background = color[0];
    colorTwoPath[0].style.background = color[1];
    colorTwoPath[1].style.background = color[1];

    setTimeout(1000, extension_update)
};

extension_update()

我不知道为什么代码设置如此,但无论如何,在任何地方都有问题吗?我无法找到修复的地方。 THX!

1 个答案:

答案 0 :(得分:1)

getElementsByClassName将始终返回一个类似数组的元素集合 - 即使只有一个元素。因此,在您的代码中,您不是在集合中的第一个元素上设置style.background属性,而是尝试在收集自身上设置它 - 因为集合没有{{ 1}}属性,你得到你看到的错误。尝试将代码更改为:

style

(我也冒昧地在他们失踪的地方添加分号并将它们移到不需要的地方)。