Element.slot

The slot property of the Element interface returns the name of the shadow DOM slot the element is inserted in.

A slot is a placeholder inside a web component that users can fill with their own markup (see Using templates and slots for more information).

Syntax

var aString = element.slot
element.slot = aString

Value

A DOMString.

Examples

In our simple-template example (see it live), we create a trivial custom element example called <my-paragraph> in which a shadow root is attached and then populated using the contents of a template that contains a slot named my-text.

When <my-paragraph> is used in the document, the slot is populated by a slotable element by including it inside the element with a slot attribute with the value my-text. Here is one such example:

<my-paragraph>
  <span slot="my-text">Let's have some different text!</span>
</my-paragraph>

In our JavaScript file we get a reference to the <span> shown above, then log a reference to the name of the corresponding <slot> element.

let slottedSpan = document.querySelector('my-paragraph span')
console.log(slottedSpan.slot); // logs 'my-text'

Specifications

Specification Status Comment
DOM
The definition of 'slot' in that specification.
Living Standard

Browser Compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
slotChrome Full support 53Edge Full support ≤79Firefox Full support 63IE ? Opera Full support YesSafari Full support 10WebView Android Full support 53Chrome Android Full support 53Firefox Android Full support 63Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 6.0

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown