Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

HTMLSlotElement : méthode assign()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨mars 2023⁩.

La méthode assign() de l'interface HTMLSlotElement définit les nœuds assignés manuellement de l'emplacement sur un ensemble ordonné d'éléments assignables. L'ensemble des nœuds assignés manuellement est initialement vide jusqu'à ce que des nœuds soient assignés à l'aide de assign().

Note : Vous ne pouvez pas mélanger les assignations d'emplacement manuelles (impératives) et nommées (déclaratives, automatiques). Ainsi, pour que cette méthode fonctionne, l'arbre d'ombre doit avoir été créé avec l'option slotAssignment: "manual".

Syntaxe

js
assign(node1)
assign(node1, node2)
assign(node1, node2, /* …, */ nodeN)

Paramètres

node1, …, nodeN

Un ensemble de nœuds Element ou Text.

Valeur de retour

Aucune (undefined).

Exceptions

NotAllowedError DOMException

Levée lors de l'appel de cette méthode sur un emplacement assigné automatiquement.

Exemples

Dans l'exemple ci-dessous, la méthode assign() est utilisée pour afficher l'onglet correct dans une application à onglets. La fonction est appelée et reçoit le panneau à afficher, qui est ensuite assigné à l'emplacement.

js
function UpdateDisplayTab(elem, tabIdx) {
  const shadow = elem.shadowRoot;
  const slot = shadow.querySelector("slot");
  const panels = elem.querySelectorAll("tab-panel");
  if (panels.length && tabIdx && tabIdx <= panels.length) {
    slot.assign(panels[tabIdx - 1]);
  } else {
    slot.assign();
  }
}

Spécifications

Specification
HTML
# dom-slot-assign

Compatibilité des navigateurs

Voir aussi