如何将一个HTML元素作为一个JavaScript对象来logging?

使用谷歌浏览器,如果你console.log一个对象,它可以让你检查控制台中的元素。 例如:

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

通过点击旁边的箭头可以打印出可以检查的Object 。 但是,如果我尝试logging一个HTMLElement:

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

这会打印出<html></html> ,通过点击旁边的箭头可以检查它。 如果我想查看JavaScript对象(及其方法和字段)而不是元素的DOM,那我该怎么做?

使用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()方法,如果你已经在控制台中,你可以input:

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

但是,这不会在控制台窗口外工作。

尝试这个:

 console.dir(element) 

参考
[video]保罗爱尔兰成为控制台的权力用户。