Javascript更改字体颜色onclick

时间:2017-02-02 06:15:55

标签: javascript jquery html css fonts

所以当我点击一个单选按钮时,我正试图改变整个页面的字体颜色,如下所示:

<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它们是相等的 - 这怎么可能?当我手动设置它的颜色时。

4 个答案:

答案 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值:

&#13;
&#13;
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;
&#13;
&#13;

答案 2 :(得分:1)

因为#FOF8FF不存在,请尝试使用#000或任何其他颜色代替#FOF8FF。

如果你想更清楚地了解它并检查你的元素并尝试给出颜色:#FOF8FF,它也想要工作。作为参考,我附上了这个屏幕截图。

enter image description here

答案 3 :(得分:0)

#FOF8FF不存在更改为O0,我添加了不同的颜色代码,并且工作正常

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>