Spec-Zone.ru › Web APIs

Элемент: метод getAttributeNames()

Базовая реализация Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод getAttributeNames() интерфейса Element возвращает имена атрибутов элемента в виде Array строк. Если у элемента нет атрибутов, возвращается пустой массив.

Использование getAttributeNames() вместе с getAttribute() — это эффективный и производительный альтернативный способ доступа к Element.attributes.

Имена, возвращаемые методом getAttributeNames(), являются квалифицированными именами атрибутов, то есть имена атрибутов с префиксом пространства имён возвращаются с этим префиксом пространства имён (а не самим пространством имён), за которым следует двоеточие и имя атрибута (например, xlink:href), а имена атрибутов без префикса пространства имён возвращаются без изменений (например, href).

Синтаксис

getAttributeNames()

Параметры

Нет.

Возвращаемое значение

Array массива строк.

Примеры

Следующий пример показывает, как:

  • Для атрибута с префиксом пространства имён getAttributeNames() возвращает этот префикс вместе с именем атрибута.
  • Для атрибута без префикса пространства имён getAttributeNames() возвращает только имя атрибута в исходном виде.

Важно понимать, что:

  1. Атрибут может присутствовать в DOM с пространством имён, но без префикса пространства имён.
  2. Для атрибута в 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API