Spec-Zone.ru › Web APIs

Запись о мутации: свойство previousSibling

Базовая Широко поддерживается

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

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

Свойство MutationRecord только для чтения previousSibling — это предыдущий брат добавленного или удаленного дочернего узла target в MutationObserver.

Значение

Если узел добавляется или удаляется из target в MutationObserver, значением является Node, являющимся предыдущим братом добавленного или удалённого узла: то есть узел, непосредственно предшествующий этому в списке childNodes родителя.

Значение равно null если не было добавленных или удаленных узлов, или если узел является первым дочерним элементом своего родителя.

Примеры

Вывести предыдущего брата мутации

Этот код добавляет узел каждый раз при нажатии на кнопку. Затем наблюдатель записывает textContent previousSibling добавленного узла.

HTML

<button id="add-nodes">Add a node</button>
<button id="reset">Reset</button>

<pre id="log" class="log">Previous sibling of added node:</pre>
<div id="target"><p>Node #0</p></div>

JavaScript

const addNodes = document.querySelector("#add-nodes");
const reset = document.querySelector("#reset");
const target = document.querySelector("#target");
let nodeNumber = 1;

addNodes.addEventListener("click", () => {
  const newPara = document.createElement("p");
  newPara.textContent = `Node #${nodeNumber}`;
  nodeNumber++;
  target.appendChild(newPara);
});

reset.addEventListener("click", () => self.location.reload());

function logPreviousSibling(records) {
  for (const record of records) {
    if (record.type === "childList") {
      for (const newNode of record.addedNodes) {
        log.textContent = `Previous sibling of added node: ${newNode.previousSibling?.textContent}`;
      }
    }
  }
}

const observer = new MutationObserver(logPreviousSibling);
observer.observe(target, { childList: true });

Результат

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
previousSibling 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/previousSibling

Spec-Zone.ru

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