Новый документ будет являться HTML-документом, если аргумент type отсутствует или имеет значение «text/html». Иначе будет создан простой текстовый документ. Если аргумент replace имеет значение true, новый документ заменит прежний в истории посещений броузера.
Этот метод не должен вызываться сценарием или обработчиком событий, являющимся частью переписываемого документа, т.к. сам сценарий или обработчик также будет переписан.
boolean queryCommandEnabled(string commandld)
Возвращает true, если в настоящий момент можно передать команду commandld методу
execCommand,
и false - в противном
случае. Например, бессмысленно передавать команду «undo», когда нечего отменять. Подробности приводятся в разделе 15.10.4.
boolean queryCommandIndeterm(string commandld)
Возвращает true, если commandld находится в состоянии, для которого
queryCommandState
не может вернуть какое-то определенное значение. Команды, определяемые спецификацией HTML5, не могут находиться в неопределенном состоянии, но команды, определяемые броузером, - могут. Подробности приводятся в разделе 15.10.4.
boolean queryCommandState(string commandld)
Возвращает состояние команды commandld. Некоторые команды редактирования, такие как «bold» и «italic», имеют состояние true, если под текстовым курсором или в выделенной области находится текст, набранный курсивом, и false - в противном случае. Однако большинство команд не имеют состояния, и для них этот метод всегда возвращает false. Подробности приводятся в разделе 15.10.4.
boolean queryCommandSupported(string commandld)
Возвращает true, если броузер поддерживает указанную команду, и false - в противном случае. Подробности приводятся в разделе 15.10.4.
string queryCommandValue(string commandld)
Возвращает состояние указанной команды в виде строки. Подробности приводятся в разделе 15.10.4.
Element querySelector(string selectors)
Возвращает первый элемент в данном документе, соответствующий CSS-селекторам
selectors
(это может быть единственный CSS-селектор или группа селекторов, разделенных запятыми).
NodeList querySelectorAll(string selectors)
Возвращает объект, подобный массиву, содержащий все элементы Element в данном документе, соответствующие селекторам selectors (это может быть единственный CSS-селектор или группа селекторов, разделенных запятыми). В отличие от объектов
NodeList
, возвращаемых методом
getElementsByTagName
и аналогичными ему, объект
NodeList
, возвращаемый этим методом, является статическим и содержит элементы, соответствующие селекторам, существовавшие на момент вызова метода.
void write(string text...)
Добавляет текст text в конец документа. Этот метод можно использовать в ходе загрузки документа для вставки текста в позицию тега
<script>
или после вызова метода
ореп.
Подробности приводятся в разделе 15.10.2.
void writeln(string text...)
Этот метод похож на
HTMLDocument.write
за исключением того, что за добавляемым текстом следует символ перевода строки, что может быть удобным, например, при формировании содержимого тега
<рге>
.
События
Непосредственно
в объекте
Document
броузеры возбуждают немного событий, но события, генерируемые в элементах, будут всплывать до объекта
Document
, вмещающего их. По этой причине объект
Document
поддерживает все свойства обработчиков событий, перечисленные в справочной статье
Element
. Подобно элементам
Element
, объект
Document
реализует методы интерфейса
EventTarget
.
Непосредственно в объекте
Document
броузеры возбуждают два события. Когда изменяется значение свойства
readyState
, броузеры возбуждают событие «readystatechange». Зарегистрировать обработчик этого события можно с помощью свойства
onreadystatechange
. Кроме того, броузеры возбуждают событие «DOMContentLoaded* (раздел 17.4), когда дерево документа будет готово к манипуляциям (но до окончания загрузки внешних ресурсов). Однако для регистрации обработчиков этого события необходимо использовать метод интерфейса
EventTarget
, потому что в объекте
Document
отсутствует свойство с именем
onDOMContentLoaded
.
DocumentFragment
смежные узлы и их поддеревья Node
Интерфейс
DocumentFragment
представляет часть (фрагмент) документа. Если говорить конкретно, то он представляет список смежных узлов документа и всех их потомков, но без общего родительского узла. Узлы
DocumentFragment
никогда не являются частью дерева документа, а унаследованное свойство
parentNode
в них всегда равно null. Однако особенность узлов
DocumentFragment
делает их очень полезными: когда поступает запрос на вставку
DocumentFragment
в дерево документа, вставляется не сам узел
DocumentFragment
, а все его дочерние узлы. Поэтому интерфейс
DocumentFragment
хорош в качестве временного хранилища для узлов, которые требуется вставить в документ все сразу. Создать новый пустой узел
DocumentFragment
можно с помощью метода
Document.createDocumentFragment.
Поиск элементов в узле
DocumentFragment
можно выполнить с помощью методов
querySelector
и
querySelectorAll,
которые действуют так же, как одноименные методы объекта