Spec-Zone.ru › Web APIs

MutationRecord: свойство attributeName

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

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

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

Чтение-только свойство MutationRecord attributeName содержит имя изменённого атрибута, принадлежащего узлу, который наблюдается с помощью MutationObserver.

Значение

Если свойство type записи attributes, это строка, представляющая имя изменённого атрибута целевого объекта мутации.

Если свойство type записи не attributes, это null.

Примеры

Получение имени последнего обновлённого атрибута

В следующем примере есть четыре кнопки: две изменяют атрибут style элемента h1, и две изменяют атрибут class элемента h1. Сценарий использует MutationObserver для обнаружения изменений и будет обновлять текст ниже до имени последнего изменённого атрибута.

HTML

<h1 class="blue" style="color:black;" id="hiMom">Hi, Mom!</h1>

<button id="redButton">Set class to "red"</button>
<button id="blueButton">Set class to "blue"</button>
<button id="whiteButton">Set style to "color:white;"</button>
<button id="blackButton">Set style to "color:black;"</button>

<p id="log">Updated attribute name:</p>

CSS

.red {
  background-color: red;
}

.blue {
  background-color: blue;
}

JavaScript

const hiMom = document.querySelector("#hiMom");
const redButton = document.querySelector("#redButton");
const blueButton = document.querySelector("#blueButton ");
const whiteButton = document.querySelector("#whiteButton");
const blackButton = document.querySelector("#blackButton");
const log = document.querySelector("#log");

redButton.addEventListener("click", () => {
  hiMom.classList.add("red");
  hiMom.classList.remove("blue");
});

blueButton.addEventListener("click", () => {
  hiMom.classList.add("blue");
  hiMom.classList.remove("red");
});

whiteButton.addEventListener("click", () => {
  hiMom.style.color = "white";
});

blackButton.addEventListener("click", () => {
  hiMom.style.color = "black";
});

function logLastAttr(mutationRecordArray) {
  for (const record of mutationRecordArray) {
    if (record.type === "attributes") {
      log.textContent = `Updated attribute name: ${record.attributeName}`;
    }
  }
}

const observer = new MutationObserver(logLastAttr);
observer.observe(hiMom, { attributes: true });

Результат

Спецификации

Спецификация
DOM
# ref-for-dom-mutationrecord-attributename②

Совместимость браузеров

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
attributeName 16 12 14 15 7 18 14 14 7 1.0 4.4

© 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/MutationRecord/attributeName

Spec-Zone.ru

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