У меня есть a pre
элемент с некоторым HTML-кодом в нем. код имеет специальные символы в нем, как <
, таким образом, это не повреждает страницу.
Затем у меня есть функция JavaScript, которая получает содержание этого пред элемент, выделяет его (с codemirror) и заменяет содержание элемента выделенным текстом.
Я использую $("pre").append(...);
сделать это. Проблема состоит в том, что после выделения, на экране я вижу <
вместо <
. Как я могу преобразовать эти символы назад в HTML?
Вы должны использовать метод .text (), чтобы получить код из pre. Таким образом, вы не передаете кодированные символы подсветке кода.
Я не знаю, что происходит (и почему) с вашим html, но вы можете использовать jQuerys .text ()
и .html ()
для декодирования / кодирования html имеет вид:
HTML
<div id="test"><<</div>
jQuery:
var t = $('#test');
t.html(t.text()); // will print "<<"
пример: http://www.jsfiddle.net/fphw3
update
Поскольку вы упомянули, что используете .html ()
, чтобы прочитать значение вашего элемента, вызов .text ()
должен решить вашу проблему.