[英]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
不存在,將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.