属性target
の変更をリッスンするシャドーDOMのカスタム要素があります。target
は、私のコンポーネントがアタッチされるはずの要素のIDであることになっています。
querySelector
とgetElementById
を使用して外部DOMの要素を取得しようとしましたが、常にnull
が返されます。
console.log(document.getElementById(target));
console.log(document.querySelector('#' + target));
上記のどちらもnull
を返します。
シャドウDOM内から親ドキュメントの要素への参照を取得する方法はありますか?
Shadow Rootを呼び出すだけです。
this.shadowRoot.getElementById('target')
が機能するはずです。
次に例を示します。 get 構文は、オブジェクトプロパティを関数にバインドします。
get target() {
return this.shadowRoot.getElementById('target');
}