This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Element: метод setAttribute()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
МетодsetAttribute() интерфейсаElement устанавливает значение атрибута для указанного элемента. Если атрибут уже существует, то его значение будет обновлено, а если нет, то будет добавлен атрибут с соответствующим именем и значением.
Для получения текущего значения атрибута используйтеgetAttribute(), для удаления нужно вызватьremoveAttribute().
Если необходимо поработать сатрибутами узла (например, при клонировании другого элемента) перед его добавлением, можно использовать методsetAttributeNode().
In this article
Синтаксис
setAttribute(name, value)Параметры
nameСтрока, представляющая имя атрибута, для которого устанавливается значение. Имя атрибута автоматически преобразуется в нижний регистр если
setAttribute()вызывается для HTML-элемента в HTML-документе.valueСтрока, содержащая значение для установки. Любое нестроковое значение автоматически преобразуется в строку.
Логические атрибуты считаются равнымиtrue, если они есть у элемента, вне зависимости от значения. Следует устанавливать в качестве значения дляvalue пустую строку ("") или имя атрибута без пробелов в начале и конце. Смотритепример ниже для наглядной демонстрации.
Поскольку значениеvalue преобразуется в строку, присвоение значенияnull не приводит к удалению атрибута или установке его значения вnull. Вместо этого произойдёт установка значения равного строке"null". Для удаления атрибута необходимо вызватьremoveAttribute().
Возвращаемое значение
Нет (undefined).
Исключения
InvalidCharacterErrorDOMExceptionВозникает если значение
nameне является корректнымименем XML (например, начинается с цифры, дефиса или точки или содержит символы, отличные от буквенно-цифровых символов, символов подчеркивания, дефисов и точек).
Примеры
В следующем примереsetAttribute() используется для установки атрибута элемента<button>.
HTML
<button>Привет, мир!</button>button { height: 30px; width: 100px; margin: 1em;}JavaScript
const button = document.querySelector("button");button.setAttribute("name", "helloButton");button.setAttribute("disabled", "");Этот пример иллюстрирует два аспекта:
- Первый вызов
setAttribute()изменяет значение атрибутаnameна "helloButton". Это можно увидеть с помощью инспектора кода в браузере (Chrome,Edge,Firefox,Safari). - Используемое значение при установке логического атрибута не важно. Само наличие атрибута означает, что он равен
true, а отсутствие —false. Таким образом, присваивая значению атрибутаdisabledпустую строку (""), мы переключаемdisabledвtrue, что приводит к отключению кнопки. В качестве значения для логических атрибутов рекомендуется использовать пустую строку или имя самого атрибута.
Спецификации
| Specification |
|---|
| DOM> # ref-for-dom-element-setattribute①> |