2013-09-02 3 views
0

Я получаю текст из DIV, например:Как изменить кодировку/кодировку строки на Javascript?

var scriptContent = document.getElementsByTagName("pre")[0].innerHTML; 

Но если текст содержит некоторые, как «X является <, чем Y» вар scriptContent будет содержать «Х & л, чем Y ». Мне действительно нужно получить точно такую ​​же строку, которую я вижу в браузере, то есть «X is <, чем Y».

Как я могу это решить?

ответ

2

От https://developer.mozilla.org/en-US/docs/Web/API/element.innerHTML

Примечание: Если, или узел имеет дочерний текстовый узел, который включает в себя символы (&), (<), или (>), innerHTML возвращает эти символы как & усилителя, & lt и & соответственно. Используйте Node.textContent, чтобы получить правильную копию содержимого этих текстовых узлов.

document.getElementsByTagName("pre")[0].textContent; 

См: https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent

1

Используйте textContent свойство вместо innerHTML:

var pre = document.getElementsByTagName("pre")[0], 
    scriptContent = pre.textContent || pre.innerText; 

A live demo at jsFiddle. Альтернатива innerText для IE < 9.

+0

Большое вам спасибо! – gal007

Смежные вопросы