繁体   English   中英

如何忽略innerHTML属性中的HTML标签?

[英]How to ignore HTML tags in innerHTML attribute?

我正在制作一个信使,我的消息不会忽略 HTML 标签,因为我只是在消息的 innerHTML 中传递了来自输入的文本。 我的代码:

function Message(sender) {
    ...
    this["text"] = "";
    ...
    this.addText = function (text) {
        this["text"] = text;
    };
    ...
};

我在这里展示它:

...
var chatMessageText = document.createElement("p");
chatMessageText.innerHTML = message["text"];
...

忽略 message["text"] 中的 HTML 标签该怎么办?

更新Node#innerText属性(或Node#textContent属性)。

chatMessageText.innerText = message["text"];


检查两者的区别: innerText vs textContent

参考: 文本内容与内部文本的区别

你不能。 innerHTML是你给它 HTML,它把它解释为 HTML。

您可以转义所有特殊字符,但更简单的解决方案是不使用innerHTML

var chatMessagePara = document.createElement("p");
var chatMessageText = document.createTextNode(message["text"]);
chatMessagePara.appendChild(chatMessageText)

暂无
暂无

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

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