HTMLElement.attachInternals()

HTMLElement.attachInternals() メソッドは、 ElementInternals (en-US) オブジェクトを返します。このメソッドにより、カスタム要素が HTML フォームに参加することができるようになります。 ElementInternals インターフェイスは、標準的な HTML フォーム要素と同じようにこれらの要素を扱うためのユーティリティを提供し、また、要素に対してアクセシビリティオブジェクトモデルを公開します。

構文

var internals = element.attachInternals();

引数

なし。

返値

ElementInternals (en-US) オブジェクト。

例外

NotSupportedError DOMException

この要素がカスタム要素でなかった場合に発生します。

NotSupportedError DOMException

この要素の定義の一部で「内部」の機能が無効になっていた場合に発生します。

NotSupportedError DOMException

同じ要素に対してこのメソッドを 2 度呼び出したときに発生します。

次の例では、カスタムフォームに関連する要素を HTMLElement.attachInternals で作成する方法を示しています。そして、 ElementInternals.form (en-US) プロパティがコンソールに出力され、 ElementInternals (en-US) オブジェクトがあることを実証しています。

class CustomCheckbox extends HTMLElement {
  static formAssociated = true;

  constructor() {
    super();
    this.internals_ = this.attachInternals();
  }

  /* ... */

  window.customElements.define("custom-checkbox", CustomCheckbox);
})();

let element = document.getElementById("custom-checkbox");
console.log(element.internals_.form);

仕様書

Specification
HTML Standard
# dom-attachinternals

ブラウザーの互換性

BCD tables only load in the browser

関連情報