[英]Giving a H1 element a random color
您能解释一下这段代码有什么问题吗?
var a = document.getElementById("id1").style.color;
a = "blue"
应该将id1
的元素的文本颜色设置为blue
function randomColor() {
var cArr = '1234567890ABCDEF'.split('');
var c = "#";
for (var i = 0; i < 6; i++) {
c += cArr[Math.floor(Math.random() * 16)]
}
a = c;
return c;
}
randomColor();
对我来说看起来不错,但是可以肯定的是,这并不是因为它没有用。 您能解释一下我在做什么错吗?
您正在将a
设置为原始值。 因此,您无法分配颜色。
function randomColor() { var c = "#"; for (var i = 0; i < 6; i++) { c += (Math.random() * 16 | 0).toString(16); } return c; } var a = document.getElementById("id1").style; a.color = randomColor();
<h1 id="id1">stackoverflow</h1>
a =“ blue”应该将id1的元素的文本颜色设置为blue
不,不正确的a
包含元素id1
的当前颜色。
要设置颜色,您可以将元素存储在变量中,然后将其设置为blue
,如下所示:
var a = document.getElementById("id1");
a.style.color = "blue";
希望这可以帮助。
function randomColor() { var cArr = '1234567890ABCDEF'.split(''); var c = "#"; for (var i = 0; i < 6; i++) { c += cArr[Math.floor(Math.random() * 16)] } return c; } var a = document.getElementById("id1"); a.style.color = randomColor();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <h1 id="id1">H1 element</h1>
要回答这个问题,您需要了解如何传递数据并将其存储在变量中。 您似乎知道对象是通过引用传递的,如果将一个对象存储在多个不同的变量中,则可以修改一个,并且所有变量都将不同。
但是,当您将对象的属性存储在变量中并且该属性具有简单的数据类型(例如数字,字符串或布尔值)时,该变量仅存储值而不是引用。 您要做的是将document.getElementById
调用中的结果元素存储在el
变量中,然后在函数中访问其style.color。
el.style.color = 'blue'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.