Javascript Safari/WebKit';s console.log DOM节点作为对象?

Javascript Safari/WebKit';s console.log DOM节点作为对象?,javascript,dom,safari,Javascript,Dom,Safari,这件事让我发疯已经有一段时间了。当I console.log一个DOM节点(通过示例从document.getElementById返回)时,它会显示为一个交互式html元素,就像它会显示在“元素”选项卡上一样 这当然很方便,但有时我只想能够展开对象并查看其所有属性,就像我可以对登录到控制台的其他类型的对象所做的那样 有没有办法让DOM节点作为常规对象显示在控制台中???使用console.dir而不是console.log console.log( document.body ); <b

这件事让我发疯已经有一段时间了。当I console.log一个DOM节点(通过示例从
document.getElementById
返回)时,它会显示为一个交互式html元素,就像它会显示在“元素”选项卡上一样

这当然很方便,但有时我只想能够展开对象并查看其所有属性,就像我可以对登录到控制台的其他类型的对象所做的那样


有没有办法让DOM节点作为常规对象显示在控制台中???

使用
console.dir
而不是
console.log

console.log( document.body );
<body class="question-page">...</body>

console.dir( document.body );
> HTMLBodyElement
    aLink: ""
    attributes: NamedNodeMap
    background: ""
    ...
console.log(document.body);
...
console.dir(document.body);
>HTMLBodyElement
阿林克:“
属性:NamedNodeMap
背景:“”
...

控制台目录(对象)

打印对象所有属性的交互式列表。这看起来与您在DOM选项卡中看到的视图相同

Chrome还支持
console.dir
(未显示为
console
的属性,但它是可用的)


太棒了!尽管我搜索并阅读了苹果的文档,但console.dir在任何地方都没有被提及,但它工作得非常完美@柴伊:我得承认,我真的很高兴你问这个问题。我一直在想同样的事情,但从来没有到处找过。我总是在数组中双重包装我的元素,比如
[[document.body]]
。这是可行的,但是您需要展开内部数组才能到达元素对象<代码>目录更好!:o) 具有讽刺意味的是,我本可以只记录控制台
console
,然后检查它的原型。我喜欢JavaScript