所以当我点击一个单选按钮时,我正试图改变整个页面的字体颜色,如下所示:
<input type="radio" name="textcol" value="#FOF8FF" onclick = "changeText('#FOF8FF');"> Alice Blue<br>
然后调用此函数:
function changeText(col)
{
console.log(col);
console.log(document.getElementsByName('boyo'));
var abc = document.getElementsByName('boyo');
for(var i = 0, length = abc.length; i < length; i++)
{
abc[i].style.color = col;
}
}
所以你知道,在我所有的h3和p标签(我文档中唯一的文字)中,我给他们起了一个名字“boyo”,就像这样:
<h3 name = "boyo">My favorite food</h3>
但出于某种原因,它什么也没做。我知道它有适当的元素(我可以看到它打印到控制台),并且没有错误发生,但我的字体颜色不会改变。我到底做错了什么?
编辑:当我将字符串“#80FF08”的值与我传递的值(打印出的值也完全相同)进行比较时,它返回FALSE它们是相等的 - 这怎么可能?当我手动设置它的颜色时。
答案 0 :(得分:2)
如果您在颜色代码#FOF8FF
中将O更改为0,您的代码将正常工作
function changeText(col) {
console.log(col);
console.log(document.getElementsByName('boyo'));
var abc = document.getElementsByName('boyo');
for (var i = 0, length = abc.length; i < length; i++) {
abc[i].style.color = col;
}
}
<input type="radio" name="textcol" value="#FOF8FF" onclick='changeText("#F0F8FF")'>Alice Blue
<br>
<h3 id="colorMe" name="boyo">My favorite food</h3>
答案 1 :(得分:1)
将颜色更改为其他正常工作的颜色,似乎#FOF8FF
不是有效的HEX值:
function changeText(color) {
console.log(color);
console.log(document.getElementsByName('boyo'));
var abc = document.getElementsByName('boyo');
for (var i = 0, length = abc.length; i < length; i++) {
abc[i].style.color = color;
}
}
&#13;
<input type="radio" name="textcol" value="#FOF8FF" onclick="changeText('#33ccff');">Alice Blue
<br>
<h3 name="boyo">My favorite food</h3>
&#13;
答案 2 :(得分:1)
答案 3 :(得分:0)
#FOF8FF
不存在更改为O
到0
,我添加了不同的颜色代码,并且工作正常
function changeText(col)
{
console.log(col);
console.log(document.getElementsByName('boyo')[0]);
var abc = document.getElementsByName('boyo')[0].style.color = col;
}
<h3 name = "boyo">My favorite food</h3>
<input type="radio" name="textcol" value="#d2d2d2" onclick = "changeText('#d2d2d2');"> Alice Blue<br>