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

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

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

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

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

【问题讨论】:

标签: terminology jquery definitions


【解决方案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 对象。这将教会你很多关于它的结构。

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      • 2011-06-12
      相关资源
      最近更新 更多