2013-08-07 68 views
1

我試圖反轉義在JavaScript的HTML轉義撇號("'"),但以下似乎並沒有在devtools控制檯線路工作:JavaScript中的Unescape撇號(')?

unescape('''); 

輸出很簡單:

"'" 

它不會在下劃線的UNESCAPE工作,要麼:

_.unescape(''') 

我在做什麼錯?

+4

'unescape'是一個命名不佳(不推薦使用)的函數,它可以** ** **解碼,而不是HTML解碼。 – SLaks

回答

11

unescape與HTML字符實體無關。這是一個陳舊的,不贊成使用escape編碼的文本的解碼函數,它是一種陳舊的,不推薦使用的編碼文本函數,在現代世界中不太可能有用。 :-)

如果您需要打開該HTML成純文本,最簡單的方法是通過一個元素:

var div = document.createElement('div'); 
div.innerHTML = "'"; 
alert(div.firstChild.nodeValue); 

Live Example | Live Source

請注意,上述依賴於HTML文本中沒有定義元素的事實,因此它知道有一個子節點div,它是一個文本節點。

對於較爲複雜的情況下,你可以使用div.innerText(如果有的話)或div.textContent

var div = document.createElement('div'); 
div.innerHTML = "'"; 
alert(div.innerText || div.textContent || ""); 

Live Example | Live Source