Chrome 24 有一种在console.log()
.
例如,console.log($("p"));
在这个 jsFiddle示例中输出这种疯狂:
▼[<p>, <p>, <p>, prevObject: jQuery.fn.jQuery.init[1], context: #document, selector: "p"]
► 0: <p>
► 1: <p>
► 2: <p>
► context: #document
length: 3
► prevObject: jQuery.fn.jQuery.init[1]
selector: "p"
► __proto__: Object[0]
我可以看到它将 DOM 元素的集合放在开头。但是,如果您尝试扩展一个<p>
大部分为空的简单标签,它会在您身上抛出:
▼ 0: <p>
accessKey: ""
align: ""
► attributes: NamedNodeMap
...
[stopping here for sanity's sake]
那么我该如何使用所有这些信息呢?我的第一直觉是把它驯服到它过去的样子,但再想想,里面确实有很多我可能想要访问的信息。但我很难理解我在看什么。其中大部分看起来像 jQuery 值。这是对象具有(或不具有)的每个 jQuery 值的列表吗?
► context:
然后是事情和事情的整个问题► __proto__:
。一旦你开始深入研究,__proto__
你将永远不会停止。我认为它会无限下降!
我怎样才能开始学习如何使用这个新的输出?
编辑:我实际上刚刚意识到我仍在使用 Chrome 23,这不是 24 中引入的东西。这个帖子中有人说这是 Chrome 24 的问题,但也许它是 23 中的新问题?无论如何,我最近才开始在 jQuery 对象上注意到这一点。
编辑2:如果您只是在寻找如何记录旧方式,试试这个:(帽子提示)
console.log.apply(console, $("div"));