我如何检查jQuery对象?

Nat*_*ong 10 jquery internals

在jQuery 1.4.4中,如果我在Google Chrome控制台中执行此操作:

var divs = $('div');
Run Code Online (Sandbox Code Playgroud)

...我得到的东西似乎是一个DOM元素数组.但我知道它必须是一个jQuery对象,因为我可以链接jQuery方法:

divs.hide('slow').show('slow'); // etc
Run Code Online (Sandbox Code Playgroud)

我想看到的是jQuery对象,其中包含.fn列出其所有方法的属性等.我很确定我曾经能够看到这个.

如果我创建自己的对象,像这样:

var foo = {species: 'marmot', flavor: 'lemon'}
Run Code Online (Sandbox Code Playgroud)

...我可以在控制台中挖掘它的属性.

如何在控制台中检查jQuery对象?

另外,为了使它看起来像一个数组,正在做些什么?

更新 - 它确实发生了变化

如果我加载旧版本的jQuery - 例如,将其复制并粘贴到我的控制台中的空白选项卡中:

http://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js

......然后我这样做:

var divs = $('div');
Run Code Online (Sandbox Code Playgroud)

...我确实回来了jQuery.fn.jQuery.init,我可以在控制台中深入了解.从那时起,事情发生了变化.

Ric*_*kir 5

我相信这个网站详细描述了您正在寻找的内容,但总结(来自链接):

关于jQuery对象的有趣之处在于,虽然它的数据类型是一个对象,但它具有类似于数组的特性:

  • 它的属性名称(至少引用DOM元素的属性名称)是
    数字
  • 它有一个长度属性

并且:$('div').toSource(); 编辑:仅适用于FF
应该是您想要显示对象属性的内容.

对于Chrome: 替代文字

基本上,您可以转到Chrome中的Javascript控制台.单击Scripts选项卡(#1).在要检查代码的位置放置断点(#2).然后运行脚本,当它在那个位置中断时,检查范围变量(#3).特别是该__proto__部分.