JavaScript / jQuery - преобразовывает специальные символы HTML

У меня есть a pre элемент с некоторым HTML-кодом в нем. код имеет специальные символы в нем, как <, таким образом, это не повреждает страницу.

Затем у меня есть функция JavaScript, которая получает содержание этого пред элемент, выделяет его (с codemirror) и заменяет содержание элемента выделенным текстом.

Я использую $("pre").append(...); сделать это. Проблема состоит в том, что после выделения, на экране я вижу &lt; вместо <. Как я могу преобразовать эти символы назад в HTML?

7
задан Alex 25 July 2010 в 18:01
поделиться

2 ответа

Вы должны использовать метод .text (), чтобы получить код из pre. Таким образом, вы не передаете кодированные символы подсветке кода.

10
ответ дан 6 December 2019 в 09:57
поделиться

Я не знаю, что происходит (и почему) с вашим html, но вы можете использовать jQuerys .text () и .html () для декодирования / кодирования html имеет вид:

HTML

<div id="test">&lt;&lt;</div>

jQuery:

var t = $('#test');
t.html(t.text()); // will print "<<"

пример: http://www.jsfiddle.net/fphw3

update

Поскольку вы упомянули, что используете .html () , чтобы прочитать значение вашего элемента, вызов .text () должен решить вашу проблему.

9
ответ дан 6 December 2019 в 09:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: