1. ホーム
  2. javascript

[解決済み] HTML要素をJavaScriptのオブジェクトとして記録するにはどうしたらいいですか?

2023-01-13 18:37:20

質問

Google Chromeを使用して、もし console.log を指定すると、コンソールでその要素を検査することができます。例えば

var a = { "foo" : "bar", "whiz" : "bang" };
console.log(a);

これは、以下のように表示されます。 Object と表示され、その横の矢印をクリックすることで検査することができます。しかし、私はHTMLElementをログに記録しようとした場合。

var b = goog.dom.query('html')[0];
console.log(b);

これは、以下のように表示されます。 <html></html> と表示され、その横にある矢印をクリックしても検査することはできません。もし私が要素のDOMだけでなく、JavaScriptオブジェクト(そのメソッドとフィールドを含む)を見たいとしたら、どのようにすればいいでしょうか?

どのように解決するのですか?

使用方法 console.dir :

var element = document.documentElement; // or any other element
console.log(element); // logs the expandable <html>…</html>
console.dir(element); // logs the element’s properties and values

すでにコンソールの中にいるのであれば、単に dir の代わりに console.dir :

dir(element); // logs the element’s properties and values

異なるプロパティ名(値なし)を単純にリストアップするには Object.keys :

Object.keys(element); // logs the element’s property names

公開されていないにもかかわらず console.keys() メソッドがなくても、すでにコンソールの中にいるのであれば、そのまま入力することができます。

keys(element); // logs the element’s property names

これはコンソールウィンドウの外では動作しませんが。