1

这是我在 Chrome 控制台中缺少的东西。我正在关注一个截屏视频,其中一个 javascript 对象以可浏览的类似 tre 的结构显示,如下所示:

(此处的箭头)对象

例如,当输入这个时,我只得到一个空数组:

jQuery()

4

2 回答 2

4

如果你想浏览 jQuery 对象中的元素,你必须先选择一些东西。
$()返回一个空的 jQuery 对象。


另一方面,如果您想浏览所创建对象的方法/属性,则应使用该console.dir方法,这将使您更深入地了解对象:

console.dir(jQuery());

这是小提琴:http: //jsfiddle.net/asYay/

于 2012-07-09T22:42:56.400 回答
2

您通过键入获得的对象

jQuery() 

是一个空的 jQuery 对象,用与空数组相同的语法表示

[]

jQuery 对象是您从正文中选择的 html 元素的类数组对象。在您的情况下,选择器(您通常会写入函数的函数的第一个参数)是空的,因此没有什么可以搜索 jQuery 并且它返回一个空对象。如果您要传递带有 DOM 元素(例如主体)的参数,它将返回数组中的主体

jQuery('body') //=> Array with the body html element inside

请注意,jQuery 对象中的 HTML 元素通常与 Google 控制台中的标准对象不同。对于标准对象,您将获得 Object 及其属性作为树结构,在它之前有一个箭头以展开它(就像您在截屏视频中看到的那样),使用 HTML 元素,您将获得DOM 节点,但没有属性或方法扩展。

要查看差异,请尝试以下操作:

在 Chrome 控制台中显示实例或标准对象:

var object = {
  hi: 'im an object', 
  and_i: 'am represented as a tree like structure', 
  i_can_haz: function() { return 'this is great, it shows all the stuff' }
};

如果再次键入:

object

您将获得 Chrome 控制台对象表示。

对于 HTML 对象,只需执行此操作

var object = document.getElementsByTagName('body');

如果你想访问它的属性和功能,使用 dir 方法

dir(object);

您几乎可以在任何对象上使用 dir 来访问属性

并且 object 将是 body 元素的表示。如前所述,本质上,jQuery 在选择时所做的所有事情都是将这些元素放入一个数组中。

于 2012-07-09T22:44:47.550 回答