Элемент: метод getAttributeNames()
Базовая реализация Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Метод getAttributeNames() интерфейса Element возвращает имена атрибутов элемента в виде Array строк. Если у элемента нет атрибутов, возвращается пустой массив.
Использование getAttributeNames() вместе с getAttribute() — это эффективный и производительный альтернативный способ доступа к Element.attributes.
Имена, возвращаемые методом getAttributeNames(), являются квалифицированными именами атрибутов, то есть имена атрибутов с префиксом пространства имён возвращаются с этим префиксом пространства имён (а не самим пространством имён), за которым следует двоеточие и имя атрибута (например, xlink:href), а имена атрибутов без префикса пространства имён возвращаются без изменений (например, href).
Синтаксис
getAttributeNames()
Параметры
Нет.
Возвращаемое значение
Array массива строк.
Примеры
Следующий пример показывает, как:
- Для атрибута с префиксом пространства имён
getAttributeNames()возвращает этот префикс вместе с именем атрибута. - Для атрибута без префикса пространства имён
getAttributeNames()возвращает только имя атрибута в исходном виде.
Важно понимать, что:
- Атрибут может присутствовать в DOM с пространством имён, но без префикса пространства имён.
- Для атрибута в DOM, имеющего пространство имён, но без префикса пространства имён,
getAttributeNames()вернет только имя атрибута без указания того, что атрибут находится в пространстве имён.
В примере ниже представлен такой случай «атрибута в пространстве имён, но без префикса пространства имён».
const element = document.createElement("a");
// set "href" attribute with no namespace and no namespace prefix
element.setAttribute("href", "https://example.com");
// set "href" attribute with namespace and also "xlink" namespace prefix
element.setAttributeNS(
"http://www.w3.org/1999/xlink",
"xlink:href",
"https://example.com",
);
// set "show" attribute with namespace but no namespace prefix
element.setAttributeNS("http://www.w3.org/1999/xlink", "show", "new");
// Iterate over element's attributes
for (const name of element.getAttributeNames()) {
const value = element.getAttribute(name);
console.log(name, value);
}
// logs:
// href https://example.com
// xlink:href https://example.com
// show new
Спецификации
| Спецификация |
|---|
| DOM # ref-for-dom-element-getattributenames① |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getAttributeNames |
61 | 18 | 45 | 48 | 10.1 | 61 | 45 | 45 | 10.3 | 8.0 | 61 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttributeNames