Свойства узлов
Свойства и атрибуты
Во время построения DOM-дерева, некоторые стандартные HTML-атрибуты становятся свойствами элементов. Посмотрим на несколько часто использующихся свойств.
value
- содержит текущий текстовый контент элементов форм.checked
- хранит состояние чекбокса или радиокнопки.name
- хранит значение, указанное в HTML-атрибуте name.src
- путь к изображению тега<img>
.
Свойство textContent
textContent
elem.textContent
возвращает текстовый контент внутри элемента. Доступно для чтения и записи. Не зависимо что будет передано в textContent
, данные всегда будут записаны как текст.
Свойство classList
classList
В свойстве classList
хранится объект с методами для работы с классами элемента.
elem.classList.contains(cls)
- возвращаетtrue
илиfalse
в зависимости от того, есть ли у элемента классcls
.elem.classList.add(cls)
- добавляет классcls
в список классов элемента.elem.classList.remove(cls)
- удаляет классcls
из списка классов элемента.elem.classList.toggle(cls)
- если классаcls
нет, то добавляет его, если есть, наоборот удаляет.elem.classList.replace(oldClass, newClass)
- заменяет существующий классoldClass
на указанныйnewClass
.
Свойство style
style
Используется для чтения и изменения инлайновых стилей. Возвращает объект CSSStyleDeclaration
, который содержит список всех свойств, определенных только во встроенных стилях элемента, а не весь CSS. При записи свойства записываются в camelCase
, то есть background-color
превращается в element.style.backgroundColor
и т. д.
На практике стилизация элементов выполняется добавленим CSS-классов. Свойство style
используется для добавления каких-то динамических стилей, например во время анимации.
Атрибуты
DOM-элементам соответствуют HTML-теги у которых есть текстовые атрибуты. Доступ к атрибутам осуществляется при помощи стандартных методов. Эти методы работают со значением, которое находится в HTML.
elem.hasAttribute(name)
- проверяет наличие аттрибута, возвращаетtrue
илиfalse
.elem.getAttribute(name)
- получает значение атрибута и возвращает его.elem.setAttribute(name, value)
- устанавливает атрибут.elem.removeAttribute(name)
- удаляет атрибут.elem.attributes
- свойство, возвращает объект всех атрибутов элемента.
data-атрибуты
Позволяют добавить тегу произвольный атрибут и получить его значение в JavaScript. Эту возможность используют для того, чтобы упростить написание кода, например связать данные и разметку по уникальному идентификатору, указать тип действия кнопки и т. п.
Для получения значения data-атрибута
используется свойство dataset
, после которого идет имя атрибута. То есть data-
отбрасывается, а остальное имя записывается как имя свойства объекта.
Last updated