HTMLSlotElement: assignedNodes() 方法
assignedNodes()
方法是 HTMLSlotElement
接口的一个方法,它返回分配给此插槽的节点序列。
如果 flatten
选项设置为 true
,则它会返回分配给此插槽的节点序列,以及分配给此插槽任何后代插槽的节点序列。如果未找到任何分配的节点,则它会返回插槽的回退内容。
语法
js
assignedNodes()
assignedNodes(options)
参数
返回值
一个节点数组。
示例
以下代码段取自我们的 slotchange 示例(查看实时演示)。
js
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}".`,
);
});
在这里,我们获取所有插槽的引用,然后向模板中的第二个插槽添加一个 slotchange 事件监听器——在示例中,此插槽的内容会不断更改。
每次插入到插槽中的元素发生更改时,我们都会向控制台记录一条报告,说明哪个插槽已更改,以及插槽内的新的节点是什么。
规范
规范 |
---|
HTML 标准 # dom-slot-assignednodes-dev |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。