jQuery.parseHTML()

Функция jQuery.parseHTML() преобразует переданную строку с HTML-кодом в массив DOM-узлов самого верхнего уровня. Пробелы в начале и конце строки тоже будут преобразованы в текстовые узлы. Чтобы этого избежать можно воспользоваться функцией jQuery.trim().

Функция jQuery.parseHTML() позволяет указать, в контексте какого документа создаётся HTML-фрагмент. Для этого вторым аргументом функции необходимо указать ссылку на него (общий документ или фрейм). Если аргумент не задан или имеет значение null или undefined, тогда используется новый document. Это позволяет повысить безопасность, так как инлайновые обработчики событий не запустятся во время парсинга строки. Во время вставки фрагмента в текущий документ они всё равно запустятся, но у разработчика появляется возможность удалить весь вредоносный код до вставки фрагмента.

По умолчанию все элементы <script> после вставки фрагмента в документ не будут выполнены. Выполнять или не выполнять скрипты после вставки фрагмента определяется необязательным булевым аргументом:

  • true - выполнить скрипты после вставки фрагмента;
  • false - не выполнять скрипты (используется по умолчанию).

Варианты использования

jQuery.parseHTML(HTML-код[, документ][, выполнить_скрипты]) => Array
Возвращает массив DOM-узлов вернего уровня, представленных в переданной строке с HTML-кодом. Необязательные параметры позволяют указать документ, для которого создан фрагмент, и необходимость запуска скриптов.

Примеры

<html>
<head>
  <title>Функции библиотеки jQuery</title>
  <script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
</body>
</html>

<script>
var str = '<ul><li>Элемент 1</li><li>Элемент 2</li></ul>';

var fragment = $.parseHTML(str);
$('body').append(fragment); /* вставка фрагмента в документ */
</script>
  • Элемент 1
  • Элемент 2