使用 JS innertext 插入元素会导致它们被原始打印出来(未呈现)

Inserting elements using JS innertext results in them being printed out raw (not rendered)

我有一个 JavaScript 函数,它使用 document.innertext 来更改我的 <p> 元素之一的文本值。我想确保某些文本具有不同的颜色,据我所知,最好的解决方案是在 <p> 元素内使用 <span> 标签。如果我将其硬编码到 html,它工作正常。

但是,如果我使用我的 innertext 函数覆盖我的 <p> 标签的内容,<span> 会被打印出来,就好像它只是一个字符串一样。如果我使用浏览器检查器,那么 <span> 会以黑色突出显示,这意味着它被视为一个字符串。 Chrome 和 Firefox 都这样做,我的页面是 .php 尽管如果我将它重命名为 .html 它具有相同的效果。出于某种原因,所有数以百万计的在线代码片段都可以完成完全相同的工作,但我的却不行。

函数基本上是这样的document.getElementById("message").innerText = `<span style="color: red;">sample</span>: text`;它不是渲染红色的"sample"和黑色的"text",而是渲染“sample文本”全部为黑色。

我希望我说清楚了。在此先感谢您的帮助。

您需要使用文档的 innerHTML 属性。

例如:

document.getElementById("message").innerHTML = "<span style="color: red;">sample</span>: text";

希望对您有所帮助! 编码愉快!