The assignedNodes()
property of the 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.
Syntax
var assignedNodes = HTMLSlotElement.assignedNodes(options)
Parameters
- options Optional
- An object that sets options for the nodes to be returned. The available options are:
flatten
: ABoolean
indicating whether to return the assigned nodes of any available child<slot>
elements (true
) or not (false
). Defaults tofalse
.
Return value
An array of nodes.
Examples
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.
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'assignedNodes' in that specification. |
Living Standard |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
assignedNodes | Chrome Full support 53 | Edge Full support 79 | Firefox
Full support
63
| IE No support No | Opera Full support 40 | Safari Full support 10.1 | WebView Android Full support 53 | Chrome Android Full support 53 | Firefox Android
Full support
63
| Opera Android Full support 41 | Safari iOS Full support 10.3 | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- User must explicitly enable this feature.
- User must explicitly enable this feature.