为什么console.log(document.getElementById('blah')))在Chrome中提供不同的日志消息?

Exi*_*tos 8 javascript dom

我正在搞乱并且正在注销我用标准javascript选择的div,但是我已经在jQuery document.ready(fn)块中执行了.

$(document).ready(function(){
  console.log(document.getElementById( 'blah' ));
})
Run Code Online (Sandbox Code Playgroud)

我真的很想知道为什么有时候我会......

<div id="blah"></div>
Run Code Online (Sandbox Code Playgroud)

还有一次我得到......

在此输入图像描述

似乎以不同的方式随机记录.

Cal*_*mmm 2

这看起来确实是随机的,至少在 Chrome 中是这样。如果您想在 Chrome 控制台中以某种方式强制执行此操作,可以使用console.dirconsole.dirxml

  • console.dirxml将强制输出像第一个示例一样,采用 xml 格式
  • console.dir将像第二个示例一样以对象表示法输出。

Chrome 中控制台命令的更多示例:https://developer.chrome.com/devtools/docs/console-api

编辑:dirxml也适用于 Internet Explorer 11 及更高版本,但不适用于 Firefox,尽管这不应该是问题,因为 Firefox 以 xml 格式输出元素。