什么是jQuery对象



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

jQuery将jQuery对象定义为"类数组",因为它有length属性,但没有像join()这样的特定数组方法。

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

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

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

还有大约140个继承的方法(它们在jQuery.prototype对象上定义——您可以执行console.dir(jQuery.prototype)来获得完整的列表…)。

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


例如,如果页面上有3个TEXTAREA元素,并执行以下操作:

var j = $('textarea');

那么这个jjQuery对象将包含以下属性:

  • 0-对第一个TEXTAREA元素的引用
  • 1-对第二个TEXTAREA元素的引用
  • 2-对第三个TEXTAREA元素的引用
  • length-即3
  • context-对document对象的引用
  • selector-即'textarea'
  • 再加上所有继承的方法
jQuery对象是一个具有的对象
  • 长度属性
  • 引用select中项目的数字属性(0,1,2,3…)
  • 绑定到jQuery函数
  • 其他jQuery属性

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

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

最新更新