什么是 jQuery 对象?

Posted

技术标签:

【中文标题】什么是 jQuery 对象?【英文标题】:What is a jQuery Object? 【发布时间】:2011-09-20 16:07:06 【问题描述】:

javascript 重新定义了数组的含义,因为数组是一个具有.length 属性和.slice().join() 等方法的对象。

jQuery 将 jQuery 对象定义为“Array like”,因为它具有 length 属性,但没有特定的数组方法,例如 join()

如果我将 jQuery 对象定义为一个对象,而忘记提及与数组有关的任何事情,我将如何定义它?它除了长度还有什么属性?

我猜所有的方法都是你在文档中看到的,远远超过了数组中方法的数量。

【问题讨论】:

What is a JavaScript Array? 的可能重复项 jQuery 文档包含您需要的所有信息:docs.jquery.com/Main_Page 【参考方案1】:

jQuery 对象类似于数组,这意味着它包含零个或多个索引(名称是从零开始的正整数的属性)。除了这些索引之外,jQuery 对象还包含以下属性:

length context selector

还有大约 140 个继承方法(在 jQuery.prototype 对象上定义 - 您可以通过 console.dir(jQuery.prototype) 获取完整列表...)。

请注意,jQuery 对象包含(或继承)Array 方法(slice、substr、...)。如果你想在你的 jQuery 对象上执行这些方法,请使用call/apply


例如,如果您在页面上有 3 个 TEXTAREA 元素并且您这样做:

var j = $('textarea');

那么这个j jQuery 对象将包含这些属性:

0 - 引用第一个 TEXTAREA 元素 1 - 引用第二个 TEXTAREA 元素 2 - 引用第三个 TEXTAREA 元素 length - 这是3 context - 引用 document 对象 selector - 这是'textarea' 加上所有继承的方法...

【讨论】:

【参考方案2】:

jQuery 对象是一个具有

的对象 长度属性 引用来自选择项的数字属性 (0,1,2,3...) 与 jQuery 函数的绑定 其他 jQuery 属性

长度和数值属性允许对象像数组一样响应。您可以在 for 循环中运行它,或在其上使用 mapeach 等函数。

我建议使用浏览器的调试器或 Firebug 并检查 jQuery 对象。这将教会你很多关于它的结构。

【讨论】:

以上是关于什么是 jQuery 对象?的主要内容,如果未能解决你的问题,请参考以下文章

什么是 jQuery 对象?

什么是jquery对象数组

jquery

jquery对象与dom对象之间互相转换的方法

Jquery

Jquery学习理解 (课堂)