Свойства узлов
Свойства и атрибуты
Во время построения DOM-дерева, некоторые стандартные HTML-атрибуты становятся свойствами элементов. Посмотрим на несколько часто использующихся свойств.
value- содержит текущий текстовый контент элементов форм.checked- хранит состояние чекбокса или радиокнопки.name- хранит значение, указанное в HTML-атрибуте name.src- путь к изображению тега<img>.
Свойство textContent
textContentelem.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