2017-02-06 36 views
1

我正在做一個信使,我的信息不會忽略HTML標籤,因爲我只是通過消息的innerHTML中的輸入文本。我的代碼:如何忽略innerHTML屬性中的HTML標籤?

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

在這裏,我顯示出來:

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

我可以在消息[ 「文本」]忽略HTML標籤做什麼?

+1

您正在使用專爲持有HTML屬性。你爲什麼想要_ignore_ HTML?你不應該使用文本節點並讓用戶輸入HTML嗎? –

+0

@ÁlvaroGonzález我明白了,我從來沒有見過使用文本節點,所以這是第一次會議:)謝謝! –

+0

很高興你把它整理出來。作爲用戶,當我的論壇評論或任何被截斷的時候,我感到非常沮喪,因爲我輸入了一些尖括號。 –

回答

0

你不能。 innerHTML的意思是你給它HTML,它將它解釋爲HTML。

你可以逃脫所有的特殊字符,但更容易的解決方案是不使用innerHTML

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

謝謝!我真的忘了TextNodes。 –