什么是jQuery对象?

时间:2011-06-22 19:08:21

标签: terminology jquery definitions

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

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

如果我将jQuery对象定义为对象,并且忘记提及与数组有关的任何内容,我将如何定义它?除长度外还有哪些属性?

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

2 个答案:

答案 0 :(得分:35)

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'
  • 加上所有这些继承的方法......

答案 1 :(得分:2)

jQuery对象是一个具有

的对象
  • 长度属性
  • 引用select(0,1,2,3 ...)
  • 中的项目的数字属性
  • 绑定到jQuery函数
  • 其他jQuery属性

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

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