Главная страница
Навигация по странице:

  • Объектная модель документа (Document Object Model, DOM)

  • Selectors API

  • JavaScript _ Работа с DOM-моделью. Объектная модель документа (Document Object Model, dom)


    Скачать 158.6 Kb.
    НазваниеОбъектная модель документа (Document Object Model, dom)
    Дата15.12.2022
    Размер158.6 Kb.
    Формат файлаpdf
    Имя файлаJavaScript _ Работа с DOM-моделью.pdf
    ТипОбзор
    #846779

    Каждый объект Window имеет свойство document, ссылающееся на объект Document. Этот объект Document не является автономным объектом. Он является центральным объектом обширного API, известного как объектная модель документа (DOM), который определяет порядок доступа к содержимому документа.
    Обзор модели DOM
    Объектная модель документа (Document Object Model, DOM) - это фундаментальный прикладной программный интерфейс,
    обеспечивающий возможность работы с содержимым HTML и XML-документов. Прикладной программный интерфейс (API) модели DOM
    не особенно сложен, но в нем существует множество архитектурных особенностей, которые вы должны знать.
    Прежде всего, следует понимать, что вложенные элементы HTML или XML-документов представлены в виде дерева объектов DOM.
    Древовидное представление HTML-документа содержит узлы, представляющие элементы или теги, такие как и
    , и узлы,
    представляющие строки текста. HTML-документ также может содержать узлы, представляющие HTML-комментарии. Рассмотрим следующий простой HTML-документ:
    <
    html
    >
    <
    head
    >
    <
    title
    >Пример документаtitle
    >
    head
    >
    <
    body
    >
    <
    h1
    >Это HTML-документh1
    >
    <
    p
    >Пример <
    i
    >простогоi
    > текста.p
    >
    body
    >
    html
    >
    DOM-представление этого документа приводится на следующей диаграмме:

    Тем, кто еще не знаком с древовидными структурами в компьютерном программировании, полезно узнать, что терминология для их описания была заимствована у генеалогических деревьев. Узел, расположенный непосредственно над данным узлом,
    называется родительским по отношению к данному узлу. Узлы, расположенные на один уровень ниже другого узла,
    являются дочерними по отношению к данному узлу. Узлы, находящиеся на том же уровне и имеющие того же родителя,
    называются сестринскими. Узлы, расположенные на любое число уровней ниже другого узла, являются его потомками. Родительские,
    прародительские и любые другие узлы, расположенные выше данного узла, являются его предками.
    Каждый прямоугольник на этой диаграмме является узлом документа, который представлен объектом Node. Обратите внимание, что на рисунке изображено три различных типа узлов. Корнем дерева является узел Document, который представляет документ целиком.
    Узлы, представляющие HTML-элементы, являются узлами типа Element, а узлы, представляющие текст, - узлами типа Text. Document,
    Element и Text - это подклассы класса Node. Document и Element являются двумя самыми важными классами в модели DOM.

    Тип Node и его подтипы образуют иерархию типов, изображенную на диаграмме ниже. Обратите внимание на формальные отличия между обобщенными типами Document и Element, и типами HTMLDocument и HTMLElement. Тип Document представляет HTML и XML- документ, а класс Element представляет элемент этого документа. Подклассы HTMLDocument и HTMLElement представляют конкретно
    HTML-документ и его элементы:
    На этой диаграмме следует также отметить наличие большого количества подтипов класса HTMLElement, представляющих конкретные типы HTML-элементов. Каждый из них определяет JavaScript-свойства, отражающие HTML-атрибуты конкретного элемента или группы элементов. Некоторые из этих специфических классов определяют дополнительные свойства или методы, которые не являются отражением синтаксиса языка разметки HTML.
    Выбор элементов документа
    Работа большинства клиентских программ на языке JavaScript так или иначе связана с манипулированием элементами документа. В
    ходе выполнения эти программы могут использовать глобальную переменную document, ссылающуюся на объект Document. Однако,
    чтобы выполнить какие-либо манипуляции с элементами документа, программа должна каким-то образом получить, или выбрать,
    объекты Element, ссылающиеся на эти элементы документа. Модель DOM определяет несколько способов выборки элементов. Выбрать элемент или элементы документа можно:

    Все эти приемы выборки элементов описываются в следующих подразделах.
    Выбор элементов по значению атрибута id
    Все HTML-элементы имеют атрибуты id. Значение этого атрибута должно быть уникальным в пределах документа - никакие два элемента в одном и том же документе не должны иметь одинаковые значения атрибута id. Выбрать элемент по уникальному значению атрибута id можно с помощью метода getElementById() объекта Document:
    var section1 = document.getElementById(
    "section1"
    );
    Это самый простой и самый распространенный способ выборки элементов. Если сценарию необходимо иметь возможность манипулировать каким-то определенным множеством элементов документа, присвойте значения атрибутам id этих элементов и используйте возможность их поиска по этим значениям.
    В версиях Internet Explorer ниже IE8 метод getElementById() выполняет поиск значений атрибутов id без учета регистра символов и,
    кроме того, возвращает элементы, в которых будет найдено совпадение со значением атрибута name.
    Выбор элементов по значению атрибута name по значению атрибута id;
    по значению атрибута name;
    по имени тега;
    по имени класса или классов CSS;
    по совпадению с определенным селектором CSS.

    HTML-атрибут name первоначально предназначался для присваивания имен элементам форм, и значение этого атрибута использовалось, когда выполнялась отправка данных формы на сервер. Подобно атрибуту id, атрибут name присваивает имя элементу.
    Однако, в отличие от id, значение атрибута name не обязано быть уникальным: одно и то же имя могут иметь сразу несколько элементов, что вполне обычно при использовании в формах радиокнопок и флажков. Кроме того, в отличие от id, атрибут name допускается указывать лишь в некоторых HTML-элементах, включая формы, элементы форм и элементы


    написать администратору сайта