Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript tr和td的着色随机颜色表_Javascript_Html - Fatal编程技术网

Javascript tr和td的着色随机颜色表

Javascript tr和td的着色随机颜色表,javascript,html,Javascript,Html,这是我的代码: var colors=[“红色”、“蓝色”、“绿色”]; 函数RandomColor(){ var x=document.body.table.tr.td; var指数=数学地板(数学随机()*10); x、 style.backgroundColor=颜色[索引]; } 穆斯塔法 JAVA Html 穆斯塔法 JAVA Html 穆斯塔法 JAVA Html 穆斯塔法 JAVA Html 试试它选择表格,然后迭代所有tr以应用颜色。您错误地选择了tr和td元素。让他们使用或

这是我的代码:

var colors=[“红色”、“蓝色”、“绿色”];
函数RandomColor(){
var x=document.body.table.tr.td;
var指数=数学地板(数学随机()*10);
x、 style.backgroundColor=颜色[索引];
}

穆斯塔法
JAVA
Html
穆斯塔法
JAVA
Html
穆斯塔法
JAVA
Html
穆斯塔法
JAVA
Html

试试它
选择表格,然后迭代所有tr以应用颜色。您错误地选择了tr和td元素。让他们使用或 计算因子为10的随机数通常会得到数组中不存在的索引。而是使用数组的长度进行乘法。 选择所有td元素后,使用forEach循环对其进行迭代,并应用bg颜色,同时就地计算随机索引,而不是在循环之前进行计算。对于循环中的代码,之前计算它实际上不是“随机”的

var colors=[“红色”、“蓝色”、“绿色”、“橙色”、“黄色”、“紫色”、“浅蓝色”、“青色”、“洋红”];
函数RandomColor(){
var x=document.querySelector('table');
x、 queryselectoral('tr>td').forEach(e=>e.style.backgroundColor=colors[Math.floor(Math.random()*colors.length)])
}

穆斯塔法
JAVA
Html
穆斯塔法
JAVA
Html
穆斯塔法
JAVA
Html
穆斯塔法
JAVA
Html

试试看
你不能像javascript中的属性那样只访问DOM元素。 要获取DOM元素,最简单的方法是使用querySelector()或querySelectorAll()方法。 (请参阅此处的文档:)

在您的情况下,您将获得如下所有td元素:

 var x = document.querySelectorAll('table td');
x.forEach(function( td ){
    var index = getRandomIntInclusive( 0, colors.length-1 ); // random int between 0 and 2
    td.style.backgroundColor = colors[index];
});
它将返回包含找到的所有td的节点列表。您可以像这样迭代它们:

 var x = document.querySelectorAll('table td');
x.forEach(function( td ){
    var index = getRandomIntInclusive( 0, colors.length-1 ); // random int between 0 and 2
    td.style.backgroundColor = colors[index];
});
将所有这些放在RandomColor函数中,单击即可运行它

还可以查看这个取自MDN()的随机函数,它在给定范围内为您提供一个随机数:

function getRandomIntInclusive(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min; //The maximum is inclusive and the minimum is inclusive 
}

我添加了随机函数,因为您的返回值介于0和10之间,但您的颜色数组只包含3个元素。

现在不要放弃,您已经接近了。首先,您需要选择要为文档着色的所有元素-
document.querySelector
,然后您需要生成随机颜色。CSS颜色由4个值组成,但您只需要担心其中的3个RGB。每个字母表示一种原色,其值介于0和255之间。如果您阅读了有关查询选择器、css颜色以及如何使用JavaScript修改css颜色的内容,您就可以做到这一点。如果您能解释一下您所做的事情,这个答案会更好。