На моей странице есть div, в котором мне нужно отображать html из javascript. Поэтому в javascript я добавляю теги CDATA, чтобы html отображался как данные. Ниже приведен код, который я использовал.
var htmlCode = '<h>testing html</h>';
htmlCode = '<![CDATA[' + htmlCode+ ']]>';
$('myDiv').html(htmlCode);
Фактически это отображает testing html]]>
, поскольку последний >
конвертируется в >
, когда я назначаю его HTML-элементу div. Есть идеи, как решить эту проблему
Заранее спасибо
1 ответ
CDATA
используется в файлах XML. это означает, что содержимое внутри обрабатывается как текст. .html()
jQuery превращает <![CDATA[<h
в <!--[CDATA[<h-->
, который является комментарием. Затем он игнорирует закрывающий тег </h>
, поскольку открывающий тег отсутствует. Итак, он отображает testing html]]>
.
Если вы хотите отображать HTML как текст, просто используйте .text()
вместо .html()
. Он ускользнет от вас, чтобы браузер не проанализировал его.
var htmlCode = '<h>testing html</h>';
$('#myDiv').text(htmlCode);
РЕДАКТИРОВАТЬ : вы сказали, что хотите, чтобы HTML был проанализирован, а затем просто используйте .html
.
var htmlCode = '<h>testing html</h>';
$('#myDiv').text(htmlCode);
В любом случае CDATA
не требуется.
.html(htmlCode)
. Вам не нужен CDATA
, не знаю, зачем он вам нужен.
Похожие вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.