files/en-us/web/api/htmldetailselement/index.md
{{APIRef("HTML DOM")}}
The HTMLDetailsElement interface provides special properties (beyond the regular {{domxref("HTMLElement")}} interface it also has available to it by inheritance) for manipulating {{HTMLElement("details")}} elements.
{{InheritanceDiagram}}
Inherits properties from its parent, {{domxref("HTMLElement")}}.
name HTML attribute, which allows you to create a group of mutually-exclusive {{htmlelement("details")}} elements. Opening one of the named <details> elements of this group causes other elements of the group to close.open HTML attribute, indicating whether or not the element's contents (not counting the {{HTMLElement("summary")}}) is to be shown to the user.No specific method; inherits methods from its parent, {{domxref("HTMLElement")}}.
Inherits events from its parent interface, {{DOMxRef("HTMLElement")}}.
This example uses the HTMLElement {{domxref("HTMLElement/toggle_event", "toggle")}} event to add and remove chapters from a log aside as they are opened and closed.
<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>
body {
display: flex;
}
#log {
flex-shrink: 0;
padding-left: 3em;
}
#summaries {
flex-grow: 1;
}
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);
});
{{EmbedLiveSample("Log chapters as they are opened and closed", 700, 200)}}
{{Specifications}}
{{Compat}}