2017-07-03 69 views
1

我有一個奇怪的問題,每當我嘗試使用下面的代碼如何阻止Javascript解析"到「?

function UpdateOutput(){ 
    var toWrite = ""; 
    toWrite += '"' + value + '"'; 
    element.innerHTML = toWrite; 
} 

寫通過JavaScript一個"元素顯示

"value" 

而不是

"value&quot 

有一種方法可以防止這種情況發生?

+6

''"被解釋爲'「'時爲HTML這是你分不清什麼元素做,當你設置它的HTML顯示。天真地,你可以用'&'預先替換'&'。 –

+0

[如何在PRE或類似的東西中顯示原始html代碼但不轉義]的可能的副本(https://stackoverflow.com/questions/16783708/how-to-display-raw-html-code-in-pre - 或 - 類似於它,但不能轉義) –

+3

您可以使用'innerText'或['insertAdjacentText'](https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentText)而不是'innerHTML'來防止html實體被解碼。在元素 –

回答

2

嘗試toWrite += '"' + value + '"';