Объект DocumentFragment.

  DocumentFragment - Является интерфейсом к фрагменту документа.
  Надо иметь ввиду что фрагмент это не часть реального документа, а DOM-структура созданная в памяти (например, с помощью метода createDocumentFragment объекта HTMLDocument или элемента тега TEMPLATE).

  С фрагментом документа удобно работать, поскольку его изменения скриптом, в отличии от изменений непосредственно в документе, не приводят на каждом шаге к изменению визуального содержимого Web-страницы. Соответственно такие изменения выполняются существенно быстрее.
  После всех изменений экземпляр объекта DocumentFragment можно использовать в качестве DOM-объекта, который может быть добавлен в документ (например, как аргумент метода appendChild объекта HTMLElement).
  И надо иметь в виду, что CSS-селекторы и идентификаторы элементов этого фрагмента документа войдут в общее пространство CSS-селекторов и идентификаторов элементов этого документа.
  После того как фрагмент документа добавлен в документ, в памяти этот фрагмент очищается от всего содержимого (элементов тегов, текстового контента и комментариев), однако соответствующий интерфейс DocumentFragment к нему сохраняется и может быть использован с "чистого листа".
  Вообще-то объект DocumentFragment считается узлом дерева документа, и он, в таком качестве, был стандартизирован в первую очередь для XHML, и не находил особого применения в HTML.
  Однако с появлением Web-компонента TEMPLATE и технологии Selection объект DocumentFragment может быть больше востребован и в HTML.
  Объект DocumentFragment считается узлом дерева документа, поэтому он наследует все свойства и методы объекта Node.
  Однако в HTML DocumentFragment всё же не вполне узел, поэтому здесь, унаследованные от объекта Node свойства и методы, которые могут быть использованы в интерфейсе DocumentFragment, приведены отдельно от описания интерфейса Node.
  Экземпляр доступен:

  1. В выражении new DocumentFragment()
  2. Через свойство content объекта HTMLTemplateElement
  3. С помощью метода createDocumentFragment объекта HTMLDocument
  4. С помощью метода cloneContents объекта Range
  5. С помощью метода createContextualFragment объекта Range
  6. С помощью метода extractContents объекта Range
  7. С помощью метода cloneNode объекта DocumentFragment
  8. С помощью метода getRootNode объекта DocumentFragment
  Свойства.
  baseURI - Содержит базовый адрес документа, скрипом которого создан этот фрагмент.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.baseURI

Значения формата записи:

  childElementCount - Содержит количество элементов тегов (экземпляров объекта HTMLElement) во фрагменте документа.
  Значение имеет числовой формат.
  Учитываются только элементы верхнего уровня вложенности.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.childElementCount

Значения формата записи:

  childNodes - Содержит ссылку на интерфейс NodeList к списку DOM-объектов внутреннего контента фрагмента документа.
  В списке могут быть экземпляры объекта HTMLElement, экземпляры объекта Text и экземпляры объекта Comment.
  Это динамический список.
  Учитываются только объекты верхнего уровня вложенности.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.childNodes

Значения формата записи:

  children - Содержит ссылку на интерфейс HTMLCollection к коллекции экземпляров объекта HTMLElement элементов тегов во фрагменте документа.
  Учитываются только элементы верхнего уровня вложенности.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.children

Значения формата записи:

  firstChild - Содержит ссылку на интерфейс к первому DOM-объекту внутреннего контента фрагмента документа.
  Таким DOM-объектом может быть элемент тега, или блок текстового контента, или комментарий.
  Если во фрагменте нет ни одного DOM-объекта внутреннего контента, то свойство firstChild свойство содержит значение null

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.firstChild

Значения формата записи:

  firstElementChild - Содержит ссылку на интерфейс HTMLElement к первому элементу тега фрагмента документа.
  Если во фрагменте нет ни одного элемента, то свойство firstElementChild содержит значение null

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.firstElementChild

Значения формата записи:

  isConnected - Всегда содержит значение false.
  Значение имеет логический формат.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.isConnected

Значения формата записи:

  lastChild - Содержит ссылку на интерфейс к последнему DOM-объекту внутреннего контента фрагмента документа.
  Таким DOM-объектом может быть элемент тега, или блок текстового контента, или комментарий.
  Если во фрагменте нет ни одного DOM-объекта внутреннего контента, то свойство lastChild содержит значение null.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.lastChild

Значения формата записи:

  lastElementChild - Содержит ссылку на интерфейс HTMLElement к последнему элементу тега фрагмента документа.
  Если во фрагменте нет ни одного элемента тега, то свойство lastElementChild содержит значение null.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.lastElementChild

Значения формата записи:

  nodeName - Содержит значение #document-fragment.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.nodeName

Значения формата записи:

  nodeType - Содержит значение 11.
  Значение имеет числовой формат.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.nodeType

Значения формата записи:

  ownerDocument - Содержит ссылку на интерфейс HTMLDocument к документу, скрипом которого создан этот фрагмент.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.ownerDocument

Значения формата записи:

  textContent - Содержит текстовый контент всех блоков внутреннего текстового контента фрагмента документа, в том числе и текстовый контент всех его элементов тегов.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта Node.textContent[= Текст]

Значения формата записи:

  Методы.
  append - Добавляет новые DOM-объекты внутреннего контента во фрагмент документа после всех уже имеющихся объектов.
  Возвращает значение undefined.
  Добавленными DOM-объектами внутреннего контента фрагмента документа могут быть фрагменты документа, элементы тегов, блоки текстового контента, комментарии, или текст.
  Метод append поддерживается не всеми браузерами.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.append(Список элементов)

Значения формата записи:

  appendChild - Добавляет новый DOM-объект внутреннего контента во фрагмент документа после всех уже имеющихся в нём DOM-объектов.
  Возвращает ссылку на интерфейс к добавленному объекту.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.appendChild(Элемент)

Значения формата записи:

  cloneNode - Копирует этот экземпляр объекта DocumentFragment в память.
  Возвращает ссылку на созданную копию экземпляра объекта DocumentFragment.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.cloneNode()

Значения формата записи:

  compareDocumentPosition - Вычисляет, как позиционируется фрагмент документа указанный экземпляром объекта DocumentFragment, относительно заданного узла.
  Возвращает одно из числовых значений:
  1. 0 - Экземпляр объекта DocumentFragment это и есть заданный узел.
  2. 1 - Экземпляр объекта DocumentFragment и заданный узел находятся в разных документах.
  3. 2 - Экземпляр объекта DocumentFragment следует за заданным узлом.
  4. 4 - Экземпляр объекта DocumentFragment предшествует заданному узлу.
  5. 10 - Экземпляр объекта DocumentFragment содержится во внутреннем контенте заданного узла.
  6. 20 - Экземпляр объекта DocumentFragment содержит в своем внутреннем контенте заданный узел.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.compareDocumentPosition(Узел)

Значения формата записи:

  contains - Вычисляет, как позиционируется фрагмент документа указанный экземпляром объекта DocumentFragment, относительно заданного узла.
  Возвращает логическое значение:
  1. true - Экземпляр объекта DocumentFragment содержит в своем внутреннем контенте заданный узел, или этот экземпляр объекта DocumentFragment и есть заданный узел.
  2. false - Во всех остальных случаях.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.contains(Узел)

Значения формата записи:

  getElementById - Возвращает ссылку на интерфейс HTMLElement к элементу тега с заданным идентификатором, из фрагмента документа.
  Учитываются элементы всех уровней вложенности.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.getElementById(Идентификатор элемента тега)

Значения формата записи:

  getRootNode - Возвращает ссылку на этот экземпляр объекта DocumentFragment.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.getRootNode()

Значения формата записи:

  hasChildNodes - Возвращает значение true если этот фрагмент документа содержит элементы тегов, блоки внутреннего текстового контента, или комментарии и значение false - в противном случае.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.hasChildNodes()

Значения формата записи:

  isEqualNode - Возвращает значение true если этот экземпляр объекта DocumentFragment идентичен заданному фрагменту документа, и - false в противном случае.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.isEqualNode(Фрагмент)

Значения формата записи:

  isSameNode - Возвращает значение true если этот экземпляр объекта DocumentFragment является заданным фрагментом документа, и - false в противном случае.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.isSameNode(Фрагмент)

Значения формата записи:

  insertBefore - Добавляет новый DOM-объект внутреннего контента в заданное место фрагмента документа.
  Возвращает ссылку на экземпляр нового объекта.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.insertBefore(Элемент[, Экземпляр])

Значения формата записи:

  normalize - Объединяет смежные блоки текстового контента, удаляет пустые блоки текстового контента фрагмента документа на самом верхнем уровне вложенности.
  Возвращает ссылку на новый экземпляр объекта Text.
  Смежные блоки текстового контента могут образоваться из за использования метода splitText объекта Text.
  Блоки внутреннего текстового контента, разделенные элементами тегов, не являются смежными.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.normalize()

Значения формата записи:

  prepend - Добавляет новые DOM-объекты внутреннего контента во фрагмент документа перед всеми уже имеющимися объектами.
  Возвращает значение undefined.
  Добавленными DOM-объектами внутреннего контента фрагмента документа могут быть фрагменты документа, элементы тегов, блоки текстового контента, комментарии, или текст.
  Метод prepend поддерживается не всеми браузерами.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.prepend(Список объектов)

Значения формата записи:

  querySelector - Возвращает ссылку на интерфейс HTMLElement к первому элементу тега фрагмента документа, который определяется заданным селектором CSS.
  Учитываются элементы всех уровней входимости.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.querySelector(Селектор)

Значения формата записи:

  querySelectorAll - Возвращает ссылку на интерфейс NodeList к списку экземпляров объекта HTMLElement для всех элементов тегов фрагмента документа, которые определяются заданным селектором CSS.
  Учитываются элементы всех уровней входимости.
  Экземпляры объекта HTMLElement будут следовать в списке в порядке следования соответствующих элементов в HTML-коде.
  Это статический список.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.querySelectorAll(Селектор)

Значения формата записи:

  removeChild - Удаляет заданный DOM-объект внутреннего контента из фрагмента документа.
  Возвращает ссылку на интерфейс к удалённому объекту. Все свойства и методы интерфейса по этой ссылке будут доступны.
  Такими DOM-объектами могут быть элементы тегов, блоки текстового контента, или комментарии.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.removeChild(Экземпляр)

Значения формата записи:

  replaceChild - Заменяет заданный DOM-объект внутреннего контента во фрагменте документа.
  Возвращает ссылку на соответствующий экземпляр объекта заменённого DOM объекта внутреннего контента, который будет сохранён в памяти.
  Заменяемыми DOM-объектами могут быть, элементы тегов, блоки текстового контента, или комментарии.

Формат записи в коде скрипта:

  • Экземпляр объекта DocumentFragment.replaceChild(Элемент, Объект)

Значения формата записи: