DOM Объектная модель документа
Объектная модель документа (DOM) - это программный API для документов HTML и XML. Она определяет логическую структуру документов и способ доступа к документу и манипулирования им. В спецификации DOM термин «документ» используется в широком смысле - все чаще XML используется как способ представления многих различных видов информации, которая может храниться в различных системах, и большая часть этой информации традиционно рассматривается как данные, а не как документы. Тем не менее, XML представляет эти данные в виде документов, и DOM может использоваться для управления этими данными.
С помощью объектной модели документа программисты могут создавать и строить документы, ориентироваться в их структуре, добавлять, изменять или удалять элементы и содержимое. Все, что находится в документе HTML или XML, может быть доступно, изменено, удалено или добавлено с помощью объектной модели документа, за некоторыми исключениями - в частности, интерфейсы DOM для внутреннего подмножества и внешнего подмножества еще не определены.
Как спецификация W3C, одной из важных задач объектной модели документа является предоставление стандартного интерфейса программирования, который может использоваться в самых разных средах и приложениях. Объектная модель документа может быть использована с любым языком программирования. Для того чтобы обеспечить точную, независимую от языка спецификацию интерфейсов объектной модели документа, мы решили определить спецификации в OMG IDL, как это определено в спецификации CORBA 2.2. В дополнение к спецификации OMG IDL мы предоставляем языковые привязки для Java и ECMAScript (стандартный язык сценариев, основанный на JavaScript и JScript).
Например, DOM определяет, что метод querySelectorAll
в этом фрагменте кода должен возвращать список всех элементов <p>
в документе:
const paragraphs = document.querySelectorAll("p");
// paragraphs[0] is the first <p> element
// paragraphs[1] is the second <p> element, etc.
alert(paragraphs[0].nodeName);
Примечание: OMG IDL используется только как независимый от языка и нейтральный к реализации способ спецификации интерфейсов.
Могут быть использованы различные другие IDL; использование OMG IDL не подразумевает требования использования конкретной среды исполнения для связывания объектов.