2010-05-03 38 views
3

我有一些代碼在JavaScript:如何解碼JavaScript中的一個變量中的字符串?

var location = '"HCM - NYC (New York, NY)"'; 
td_Details.innerText = location; 

現在我想的文本位置解碼爲

「HCM - NYC(紐約)」

請指點。謝謝。

+1

你不想調用變量'location',這是一個保留字。這對我來說效果不佳。 – Kobi 2010-05-03 09:50:05

+1

@Kobi它不是一個保留字,它只是一個瀏覽器附加到'window'對象的全局變量。 – Matt 2010-05-03 09:53:07

+1

@Kobi'位置'不是保留字。它是一個客戶端對象,所以使用它可能是不明智的,但沒有負面影響(除非你想使用該對象)。 – Tomalak 2010-05-03 10:00:42

回答

3

沒有在JavaScript中沒有具體的功能,將解碼HTML實體,但是你可以指定一個innerHTML屬性的元素,然後讀出來。

x = document.createElement('div'); 
x.innerHTML = ""test""; 
console.log(x.innerHTML); // => "test" 

這將適用於任何HTML實體,而不僅僅是&「

編輯

如下指出的那樣,你中途有,你只是使用了錯誤的性質。

變化:

td_Details.innerText = location; 

到:

td_Details.innerHTML = location; 

以供將來參考,innerHTML在所有瀏覽器。 innerText不是。

+1

+1 - 他已*有* HTML元素,'td_Details'。他只是使用了錯誤的屬性 – Tomalak 2010-05-03 09:52:07

+0

@Tomalak - 我甚至沒有注意到。 – Matt 2010-05-03 09:53:45

2

刪除&「只需使用以下內容:

location = location.replace(/"/g, ''); 

您可能實際上意圖在報告中包含引號。要做到這一點,做到這一點,而不是:

location = location.replace(/"/g, '"'); 
+0

好吧,這對我有意義。謝謝。 – jeff 2010-05-03 23:54:38

+0

您的代碼將其刪除,但我認爲您想用報價替換它 - '替換(/ "/g,'「')' – studgeek 2012-03-21 18:57:40

+0

嗯,是的,我錯誤地將報價誤解爲未包括在期望的輸出中。我會更新我的答案;謝謝! – 2012-03-22 11:20:07

相關問題