Spec-Zone.ru › Web APIs

HTMLDetailsElement

Интерфейс HTMLDetailsElement предоставляет специальные свойства (помимо стандартных свойств интерфейса HTMLElement, полученных по наследованию) для работы с элементами <details>.

EventTarget Node Element HTMLElement HTMLDetailsElement

Свойства экземпляра

Наследует свойства от родительского интерфейса HTMLElement.

HTMLDetailsElement.name

Строка, отражающая атрибут HTML name, который позволяет создавать группу взаимоисключающих элементов <details>. Открытие одного из элементов этой группы с заданным именем приводит к закрытию других элементов этой группы.

HTMLDetailsElement.open

Булево значение, отражающее атрибут HTML open, указывающее, отображаются ли содержимое элемента (без учёта <summary>) пользователю.

Методы экземпляра

Нет специфических методов; наследует методы от родительского интерфейса HTMLElement.

События

Наследует события от родительского интерфейса HTMLElement.

Примеры

Запись глав при открытии и закрытии

В этом примере используется событие HTMLElement toggle для добавления и удаления глав из списка при их открытии и закрытии.

HTML

<section id="summaries">
  <p>Chapter summaries:</p>
  <details id="ch1">
    <summary>Chapter I</summary>
    Philosophy reproves Boethius for the foolishness of his complaints against
    Fortune. Her very nature is caprice.
  </details>
  <details id="ch2">
    <summary>Chapter II</summary>
    Philosophy in Fortune's name replies to Boethius' reproaches, and proves
    that the gifts of Fortune are hers to give and to take away.
  </details>
  <details id="ch3">
    <summary>Chapter III</summary>
    Boethius falls back upon his present sense of misery. Philosophy reminds him
    of the brilliancy of his former fortunes.
  </details>
</section>
<aside id="log">
  <p>Open chapters:</p>
  <div data-id="ch1" hidden>I</div>
  <div data-id="ch2" hidden>II</div>
  <div data-id="ch3" hidden>III</div>
</aside>

CSS

body {
  display: flex;
}

#log {
  flex-shrink: 0;
  padding-left: 3em;
}

#summaries {
  flex-grow: 1;
}

JavaScript

function logItem(e) {
  console.log(e);
  const item = document.querySelector(`[data-id=${e.target.id}]`);
  item.toggleAttribute("hidden");
}

const chapters = document.querySelectorAll("details");
chapters.forEach((chapter) => {
  chapter.addEventListener("toggle", logItem);
});

Результат

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

Спецификация
HTML
# htmldetailselement
HTML
# event-toggle

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
HTMLDetailsElement 36 79 49 23 10.1 36 49 24 10.3 3.0 37
Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
HTMLDetailsElement 10 79 49 15 6 18 49 14 6 1.0 ≤37
name 120 120 130 106 17.2 120 130 80 17.2 25.0 120
open 10 79 49 15 6 18 49 14 6 1.0 ≤37

api.HTMLDetailsElement

Таблицы BCD загружаются только в браузере

api.HTMLElement.toggle_event.details_elements

Таблицы BCD загружаются только в браузере

См. также

  • Элемент HTML, реализующий этот интерфейс: <details>

© 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/HTMLDetailsElement

Spec-Zone.ru

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