jQuery метод $.htmlPrefilter()

Определение и применение

jQuery метод $.htmlPrefilter() производит изменение и фильтр HTML строк, которые прошли через методы манипуляции с jQuery.

Более подробную информацию об использовании объекта вы можете найти в официальной документации

jQuery синтаксис:

JavaScript
$.htmlPrefilter( html );

html - String

Добавлен в версии jQuery

1.12 / 2.2

Значения параметров

Параметр Описание
html Строка HTML, с которой необходимо работать.

Поведение с jQuery 3.5

Стандартная $.htmlPrefilter() возвращает входную строку без преобразования самозакрывающихся тегов. Для обычных HTML-элементов пишите явные закрывающие теги: <div></div>. Переопределение функции не заменяет очистку недоверенного HTML; пример ниже демонстрирует изменение строки, а не защиту от внедрения кода.

Пример использования

Этот метод редко необходимо вызывать напрямую, вместо этого, используйте его в качестве точки входа для изменения существующих методов манипуляции jQuery.

Например, чтобы удалить все теги <del> из входящих HTML строк, сделайте следующее:

Метод $.htmlPrefilter() — пример 1

Нажмите ▶. Измените JavaScript и запустите пример повторно. Используется jQuery 4.0.0.

index.html
HTML
<p>Результат выполнения выводится в консоль под примером.</p>
main.js
JavaScript
var htmlPrefilter = $.htmlPrefilter,
    rdel = /<(del)(?=[\s>])[\w\W]*?<\/\1\s*>/gi // инициализируем переменную, содержащую регулярное выражение

$.htmlPrefilter = function (html) {
    return htmlPrefilter.call(this, html).replace(rdel, '')
}
style.css
CSS
body {
  margin: 16px;
  font:
    16px/1.5 system-ui,
    sans-serif;
  overflow-wrap: anywhere;
}
img,
input,
select,
textarea,
button {
  max-width: 100%;
}