【问题标题】:What does jquery $ actually return?jquery $ 实际返回什么?
【发布时间】:2009-08-19 20:23:37
【问题描述】:

我已经阅读了 JQuery 文档,虽然非常关注应该传递函数的内容,但我没有看到任何关于它实际返回的信息 .

特别是,它是否总是返回一个数组,即使只找到一个元素?当什么都没有找到时它是否返回null?这是在哪里记录的?

我知道jquery方法可以应用于返回值,但是如果我想直接使用返回值呢?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    来自Rick Strahl's description

    jQuery 对象:包装集: 选择器返回一个已知的 jQuery 对象 作为“包装集”,这是一个 类数组结构,包含所有 选定的 DOM 元素。你可以 像 数组或访问单个元素 通过索引器 ($(sel)[0] for 例子)。更重要的是,你可以 还对 jQuery 函数应用 所有选定的元素。

    关于什么都不返回:

    它总是返回一个数组吗?它返回 null 吗?

    你总是得到同样的东西,它是否有任何内容是个问题。通常,您可以使用 .val() 来检查这一点(例如 $('.myElem').val())

    【讨论】:

    • 太好了,谢谢...这很有帮助。我不知道用户定义的对象可以同时如此“类似数组”——我想这就是 jquery 的天才之处。
    • 不客气 - 我还刚刚编辑并添加了 Rick Strahl 文章的完整链接 - 读起来很不错。
    • 对于导致我来到这里的问题,即如何检查是否找到任何东西,我选择了 $(query).length,这似乎可以解决问题.
    • 什么是数组之类的集合......它是一个数组还是一个对象还是......我们可以准确吗?
    【解决方案2】:

    它不返回一个数组,它返回一个 jQuery 对象。 jQuery 对象包含所有特殊的 jQuery 方法。

    它永远不会返回 null 或其他类型。如果找到一个元素,则 jQuery 对象将只有一个子元素。如果没有找到元素,则 jQuery 对象将为空。

    【讨论】:

      【解决方案3】:

      正如另一个回答者提到的,它总是返回 jQuery 对象。

      这个对象总是包含一个元素数组(即使它是一个空数组,或者一个只有一个对象的数组)。

      如果您想“直接”使用返回的对象,例如作为普通元素,您可以执行以下操作之一:

      $('selector')[0] // element
      $('selector').get(0) // element
      $('selector').length // number of elements in the array
      

      【讨论】:

        【解决方案4】:

        jQuery 函数(即“$”)总是在每个实例中返回一个 jQuery 对象。

        【讨论】:

        • @harpo:一点也不;只是有问题的对象命名不佳。 “jQuery 对象”,又名 $ 与“jQuery 对象”,又名“包装集”。
        【解决方案5】:

        来自jQuery documentation

        jQuery 对象本身的行为很像一个数组;它有一个长度属性,对象中的元素可以通过它们的数字索引 [0] 到 [length-1] 访问。请注意,jQuery 对象实际上并不是 Javascript Array 对象,因此它没有真正的 Array 对象的所有方法,例如 join()。

        【讨论】:

          【解决方案6】:

          $() 总是返回 jQuery 函数这一事实让您可以明智地链接 jQuery 函数调用。

          【讨论】:

          • 问! $() 不返回 jQuery 函数(即 $ 本身),而是返回一个包含所有有用方法的包装集。
          【解决方案7】:

          Jquery 选择器机制

          $(".."),jquery 选择器,用于选择匹配的元素。

          返回值

          它总是返回一个类似数组的 jquery 对象,它有一个length 属性,

          在返回的 jquery 对象上调用方法

          可以在对象上调用jquery的方法,并应用于那些被选中的元素,

          按索引访问原始元素

          被选中的元素,作为对象的属性存储,它们的属性名是从0开始的索引号,
          因此可以通过索引访问,从 0 开始,
          获取原始元素后,可以将其视为通过document.getElementXxx()获取。

          将原始元素包装到 jquery 对象中

          获取原始元素后,可以将其包装成jquery对象,调用$(originalEle)
          然后你可以在包装的对象上调用 jquery 方法。

          【讨论】:

            【解决方案8】:

            根据 firebug,它返回一个与您的选择器匹配的对象数组。但是这个数组是一个 jQuery 对象,比一个简单的数组有更多的方法。

            【讨论】:

              【解决方案9】:

              Their documentation 列出了一些您可以与“$”一起使用的核心调用以及它们返回的内容

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2013-09-09
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多