JS の要素 (EG) の可能な HTML 属性を知る方法は?
特定の HTML ノードの可能な HTML 属性のリストを知るにはどうすればよいですか?
たとえば、ユーザースクリプトを書くとき、そのようなノードの可能な HTML 属性を知りたいです:
var images = d.getElementsByTagName('img');
何かのようなもの:images[i].src
JS の要素 (EG) の可能な HTML 属性を知る方法は?
特定の HTML ノードの可能な HTML 属性のリストを知るにはどうすればよいですか?
たとえば、ユーザースクリプトを書くとき、そのようなノードの可能な HTML 属性を知りたいです:
var images = d.getElementsByTagName('img');
何かのようなもの:images[i].src
ブラウザはその情報を公開しません。使用しているマークアップ言語の機械可読仕様を取得または作成する必要があります。
たとえば、HTML 4 には解析可能なDTDがあります。
for in
次のように、オブジェクトのプロパティを反復処理します。
var keys = [];
for (var key in obj) {
if (obj.hasOwnProperty(key) {
keys.push(key);
}
}
またはObject.keys(obj)
、キーの配列を返す which を使用しますが、これは古いブラウザーでは機能しません –互換性表を参照してください。
UPD。Quentin's answerのように HTML DTD を調べる必要がある DOM 要素のすべての可能な値について、質問を誤解しました。ただし、任意の属性を設定することは可能です。
このデモをここで試す
var images = document.getElementsByTagName('img');
var allAttributes =Object.keys(image[0]);