私は<data>
要素をHTMLで使用していますが、これはまともなサポートを提供していますが、私の目的には十分ではありません。 の追加機能がHTMLDataElement
にあるのは、それぞれの属性を返すvalue
のゲッターです。もちろんJS APIでポリ充てんされたDOMノードが返されました
これはちょうど(もちろんの特徴検出後、)次のコードを使用し、実装するのは簡単です
class HTMLDataElement extends HTMLElement {
constructor() {
super();
}
get value() {
return this.getAttribute(`value`);
}
}
これは素晴らしい作品。 1つの問題:getElementById
、querySelector
などのネイティブAPIを使用する場合、返されるNodeはインスタンスHTMLDataElement
ではありません。これが可能であれば、どうすればいいですか?
<data>
のブラウザのサポートの有無にかかわらず同じように動作するように、私はdocument.querySelector('foo').value
を実行したいと思います。
.getAttribute('value')
代わり
.value
の使用できることを十分承知している。ポイントは、私はしたくないです。)
'document.registerElement( 'x-foo');'を使う必要がありますが、その間のダッシュが必要です。私は本当にpolyfillの作り方を知らない。方法を見つけたら私たちに教えてください。 – Akxe
@Akxeそれは私の問題です。私はそれが可能であることはほとんど確信しています。なぜなら私は以前のような状況に対処してきたからです。しかしそれはカスタム要素です - 標準化されています。 – jhpratt
@Akxe - 'document.registerElement'をお持ちの場合は、' 'もあります:p 2つの"フィーチャー "の互換性表に従って、 –