繁体   English   中英

Javascript更改字体颜色onclick

[英]Javascript change font color onclick

因此,当我单击单选按钮时,我试图更改整个页面的字体颜色,如下所示:

<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,表示它们相等-怎么可能? 当我手动设置颜色时,它可以工作。

如果您将颜色代码#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> 

将颜色更改为可以正常工作的其他颜色,似乎#FOF8FF不是有效的十六进制值:

 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; } } 
 <input type="radio" name="textcol" value="#FOF8FF" onclick="changeText('#33ccff');">Alice Blue <br> <h3 name="boyo">My favorite food</h3> 

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

如果您想进一步了解它并检查您的元素并尝试赋予颜色:#FOF8FF,它也想要工作。 供您参考,我在此附上屏幕截图。

在此处输入图片说明

#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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM