web-dev-qa-db-fra.com

GetElementById à partir du Shadow DOM

J'ai un élément personnalisé avec le DOM fantôme, qui écoute l'attribut target change.
target est censé être l'ID de l'élément auquel mon composant est censé être attaché.

J'ai essayé d'utiliser querySelector et getElementById pour obtenir l'élément du DOM externe, mais il renvoie toujours null.

console.log(document.getElementById(target));
console.log(document.querySelector('#' + target));

Les deux ci-dessus renvoient null.

Existe-t-il un moyen d'obtenir une référence à l'élément dans le document parent à partir du DOM fantôme?

8
Yuriy Kravets

Vous n'avez qu'à appeler Root Shadow.

this.shadowRoot.getElementById('target') devrait fonctionner.

Voici un exemple, la syntaxe get liera une propriété d'objet à une fonction.

get target() {
    return this.shadowRoot.getElementById('target');
}
8
Penny Liu