javascript - 如何使用 JavaScript 设置 CSS 值?

标签 javascript dom

我想更改 ID 为 foo 的 HTML 元素的背景颜色。我目前有这段代码:

var hexcode = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');

// this chooses a random value from the array hexcode
var ranval = function() {
    return hexcode[Math.floor(Math.random()*hexcode.length)];
}

// six ranval() are put together to get color
var colorname = "#" + ranval() + ranval() + ranval() + ranval() + ranval() + ranval();

// trying to put the value on the background of element with "foo" ID.
document.getElementById("foo").style.color = colorname;

此代码抛出此错误:

Uncaught TypeError: Cannot read property 'style' of null 

我确定 ID foo 存在。

最佳答案

您的错误发生是因为您试图在 DOM 准备好之前访问您的元素。在访问之前等待窗口加载:

// Credit: http://paulirish.com/2009/random-hex-color-code-snippets/

function random_color() {
    return '#' + ('00000' + (Math.random() * 16777216 << 0).toString(16)).substr(-6);
}

window.onload = function() {
    document.getElementById("foo").style.backgroundColor = random_color();
};

演示:http://jsfiddle.net/Blender/xQure/1/

关于javascript - 如何使用 JavaScript 设置 CSS 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14189019/

相关文章:

javascript - pushState() 不适用于 beforeunload,popState() 不适用于加载,History API

javascript - 在 node.js 中协调并行执行

javascript - 无法从动态加载的 javascript 文件调用函数

java - XML - Java 中的 XPath DOM 解析器

java - 如何使用java中的DOM解析器在XML文件中声明doctype、xml版本和编码?

javascript - 根据父组件的状态改变子组件,无需重新渲染

javascript - 如何使用 javascript 单击 href?

javascript - Nuxt错误: nodeOps. tagName(...)在Vue框架的 'createPatchFunction'中未定义

javascript - 将日期标签添加到 HighCharts 折线图

javascript - 是否可以从外部样式表中提取所有样式并将它们放在同一页面上?