assignedNodes()
特性为
HTMLSlotElement
interface returns a sequence of the nodes assigned to this slot, and if the
flatten
option is set to
true
, the assigned nodes of any other slots that are descendants of this slot. If no assigned nodes are found, it returns the slot's fallback content.
var assignedNodes = HTMLSlotElement.assignedNodes(options)
flatten
: A
布尔
indicating whether to return the assigned nodes of any available child
<slot>
elements (
true
) 或不 (
false
). Defaults to
false
.
An array of nodes.
The following snippet is taken from our slotchange example ( see it live also ).
let slots = this.shadowRoot.querySelectorAll('slot');
slots[1].addEventListener('slotchange', function(e) {
let nodes = slots[1].assignedNodes();
console.log('Element in Slot "' + slots[1].name + '" changed to "' + nodes[0].outerHTML + '".');
});
Here we grab references to all the slots, then add a slotchange event listener to the 2nd slot in the template — which is the one that keeps having its contents changed in the example.
Every time the element inserted in the slot changes, we log a report to the console saying which slot has changed, and what the new node inside the slot is.
| 规范 | 状态 | 注释 |
|---|---|---|
|
HTML 实时标准
The definition of 'assignedNodes' in that specification. |
实时标准 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
assignedNodes
|
Chrome 53 | Edge 79 |
Firefox
63
|
IE No | Opera 40 | Safari 10.1 | WebView Android 53 | Chrome Android 53 |
Firefox Android
63
|
Opera Android 41 | Safari iOS 10.3 | Samsung Internet Android 6.0 |
完整支持
不支持
实验。期望将来行为有所改变。
用户必须明确启用此特征。
HTMLSlotElement
assignedElements()
assignedNodes()