HTMLSlotElement: assignedNodes() メソッド
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
assignedNodes()
は HTMLSlotElement
インターフェイスのプロパティで、このスロットに割り当てられた一連のノードを返します。
flatten
オプションが true
に設定されていた場合は、このスロットの子孫である他のスロットに割り当てられたノードも返します。割り当てられたノードが見つからない場合は、スロットの代替コンテンツを返します。
構文
assignedNodes()
assignedNodes(options)
引数
options
省略可-
返されるノードのためのオプションを設定したオブジェクトです。利用可能な値は以下のとおりです。
flatten
-
論理値で、利用可能な子の
<slot>
要素すべてに割り当てられたノードを返すか (true
)、返さないか (false
) を示します。既定値はfalse
です。
返値
ノードの配列。
例
以下のスニペットは、 slotchange の例 (ライブでも確認) からとりました。
let slots = this.shadowRoot.querySelectorAll("slot");
slots[1].addEventListener("slotchange", (e) => {
let nodes = slots[1].assignedNodes();
console.log(
`Element in Slot "${slots[1].name}" changed to "${nodes[0].outerHTML}".`,
);
});
ここではすべてのスロットの参照を取得し、テンプレート内の 2 番目のスロットに slotchange イベントリスナーを追加します。 — これが例の中でコンテンツの変更を追跡します。
スロットの変更の中で要素が挿入されるたびに、コンソールにどのスロットが変更されたか、スロット内の新しいノードは何であるかをログ出力します。
仕様書
Specification |
---|
HTML Standard # dom-slot-assignednodes-dev |
ブラウザーの互換性
BCD tables only load in the browser