我正在为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!
答案 0 :(得分:1)
getElementsByClassName
将始终返回一个类似数组的元素集合 - 即使只有一个元素。因此,在您的代码中,您不是在集合中的第一个元素上设置style.background
属性,而是尝试在收集自身上设置它 - 因为集合没有{{ 1}}属性,你得到你看到的错误。尝试将代码更改为:
style
(我也冒昧地在他们失踪的地方添加分号并将它们移到不需要的地方)。