使用 document.getElementById("id").innerHTML 时如何更改文本颜色

Posted

技术标签:

【中文标题】使用 document.getElementById("id").innerHTML 时如何更改文本颜色【英文标题】:How to change colour of text when using document.getElementById("id").innerHTML 【发布时间】:2015-10-21 13:15:02 【问题描述】:

当特定事件发生时,我正在尝试将跨度的文本更改为其他内容。我这样做是:

document.getElementById("usernameError").innerhtml = "**Message";

我想用不同的颜色显示相同的内容。关于如何做到这一点的任何想法? 非常感谢!

【问题讨论】:

同一行的颜色一定要改吗?您可以在下一行简单地使用document.getElementById("usernameError").style.color 函数。 【参考方案1】:

您总是可以将消息放在一个跨度中并在其上放置一个样式属性。应该这样做:

document.getElementById("usernameError").innerHTML = "<span style='color: red;'>**Message</span>";

【讨论】:

【参考方案2】:

您可以在Mozilla Developer Network 中找到,您可以使用HTMLElement.style 属性来更改元素上的任何样式。

所以你可以做这样的事情来把它涂成红色:

 document.getElementById("usernameError").style.color = '#d00'

【讨论】:

【参考方案3】:

根据您的要求,一个更具前瞻性和可重用性的解决方案可能是向当前元素或 span 元素添加一个类:

document.getElementById("usernameError").className = "color-red";

或使用 Erics 解决方案:

document.getElementById("usernameError").innerHTML = "<span class='color-red'>**Message</span>";

然后在你的 CSS 中:

.color-red
    color: #F00;

您显然也可以像这样以更易于维护的方式添加差异颜色和属性。

注意:className 返回一个字符串,表示元素的类或以空格分隔的类列表。

【讨论】:

以上是关于使用 document.getElementById("id").innerHTML 时如何更改文本颜色的主要内容,如果未能解决你的问题,请参考以下文章

移动端实现复制内容至剪贴板

无法使用正确的位置或原始 x,y 裁剪图像。

未定义函数 - 未捕获的 ReferenceError

js元素事件绑定与解绑

使用 Charts.js 禁用动画

事件冒泡