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