· Метод .before() добавляет фрагмент HTML разметки или созданные на лету DOM-элементы, либо перемещает все существующие элементы, определяемые входным параметром, последовательно вставляя их перед каждым элементом в наборе jQuery.
Возвращаемое значение: (объект) Набор jQuery.
Параметры:
· source – (строка | элемент | объект jQuery ) Одна или несколько строк с кодом разметки HTML, либо ссылок на существующие или созданные на лету DOM-элементы (либо массив элементов), или наборы jQuery.
· function(index) – (функция) Возвращает HTML-строку для вставки перед соответствующими элементами. В качестве аргумента получает index - индекс текущего элемента в наборе jQuery.
1. Примечание:
До версии jQuery 1.3, если в качестве места назначения определены не один, а несколько элементов, то все существующие исходные элементы не перемещаются, а копируются и вставляются сразу перед каждым принимающим элементом, сами оставаясь при этом в своем прежнем местоположении.
2. Примечание:
Начиная с версии jQuery 1.4 метод .before() может работать с только что созданными на лету элементами, которые еще не являются DOM узлами. Например, создать элемент<div>, создать и вставить перед ним элемент <p>, потом добавить им атрибуты, текстовое содержимое, и только после этого вставить все вместе в дерево DOM:
Результатом выполнения данной цепочки команд jQuery будет вставка в конец содержимого тела документа (перед закрывающим тегом </body>) готовых DOM-элементов:
Следует обратить внимание на то, что в результате вставки абзаца <p> перед созданным на лету блоком <div>, метод .before() возвращает объединенный набор jQuery (абзац также становится элементом набора), чего не происходило бы при обычной вставке перед существующим элементом <div> (возвращаемый набор jQuery остался бы без изменений).
Примеры:
1.
2. // Переместить заголовок <h1>, вставив его перед 3. // элементом с id='general'.4. $('#general').before($('h1'));