Chrome 24有一种新的方法在
例如,在这个jsFiddle示例上运行
我看到它将DOM元素的集合放在开头。但是,如果您尝试展开一个几乎为空的简单的
那么我如何使用所有这些信息呢?我的第一反应是将其驯服成以前的样子,但仔细想想,里面确实有很多信息我可能需要访问。但我很难理解我正在看什么。其中很多看起来像jQuery值。这是对象拥有(或不拥有)的每个jQuery值的列表吗?
然后还有整个
我该如何开始学习如何使用这个新输出呢?
console.log()
中输出对象。例如,在这个jsFiddle示例上运行
console.log($("p"));
会输出以下内容:▼[<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"));
console.log($("p"))
的最佳输出是什么?您是否满意Firebug风格的输出(例如[p, p#bar, p.foo]
)或Opera Dragonfly的输出(例如Object [+<p>, +<p id="bar">, +<p class="foo">]
)?我正在处理类似问题,我认为我也可以改进jQuery对象的输出。 - NVIid=hey
,那么它将显示出来,但如果没有,我也不会得到id: ""
以及其他理论上可能的属性,而实际上并不存在。但这只是我习惯于和发现非常有用的东西。我仍然希望能够做到这一点,但我希望学习如何使用这个工具。 - brentonstrine