DOM означает объектную модель документа. DOM предоставляет способ управления документами HTML и XML. Мы называем этот «способ манипулирования» интерфейсом прикладного программирования или API. DOM обеспечивает структурное представление документа в виде дерева, что позволяет изменять его содержимое и визуальное представление с помощью языка сценариев.
Источник:https://engineering.semantics3.com/web-scraping-in-perl-using-mojo-dom-a453229c732f
Самый высокий уровень дерева DOM — это объект окна. Думайте об окне как об окне браузера. Окно содержит весь документ DOM. Все компоненты HTML доступны из DOM.
Оконные команды
.window.document; //returns the entire HTML document
.window.innerWidth; // returns the inner width of the browser window
.window.innerHeight; // returns the inner height of the browser window
Добавление/удаление/изменение атрибутов HTML
получитьElementById
Метод document.getElementById()
обеспечивает самый быстрый доступ к узлу. Однако для этого требуется знание идентификатора узла, который является очень конкретным, уникальным и используется только один раз. Поскольку идентификаторы должны быть уникальными, этот метод возвращает только один элемент.
document.getElementById(‘query’)
// returns the element whose id
matches the specified string
получитьElementsByClassName
В отличие от идентификатора, имя класса не обязательно должно быть уникальным. document.getElementsByClassName
возвращает HTMLCollection (список узлов DOM). Эта коллекция HTMLCollection не является массивом, даже несмотря на то, что она имеет свойство длины всех элементов данного класса.
document.getElementsByClassName('topbar_inner'); // returns an object of all child elements with the given class name
getElementsByTagName
Имя тега находится между ‹› (например, «div», «span», «h1», «p»). document.getElementsByTagName()
возвращает HTMLCollection элементов с заданным именем тега.
document.getElementsByTagName('div');
// returns a HTMLCollection
of elements with the given tag name
Дополнительные ресурсы
https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction
https://www.digitalocean.com/community/tutorials/introduction-to-the-dom
https://eloquentjavascript.net/14_dom.html
https://www.taniarascia.com/how-to-connect-to-an-api-with-javascript/