【问题标题】:why there is need of having two method $() and jquery() [duplicate]为什么需要有两种方法 $() 和 jquery() [重复]
【发布时间】:2013-09-21 11:21:06
【问题描述】:

据我所知,$()jquery() 具有相同的功能(大多数情况下,$()jquery() 的简写)。

那么为什么需要有两种方法来完成相同的任务?为什么需要有jquery() 的简写,因为它不太长(不需要按 shift + $)。

如果它们与它们在什么意义上不同? $()jquery() 哪个更有效?

使用$():DEMO

$( "div" );

使用jQuery():DEMO

jQuery( "div" );

【问题讨论】:

  • 如果没有使用 noConfict 则没有区别
  • 那么为什么要给出两种不同的方法来做同样的工作?@undefined
  • IF $() 和 jQuery() 具有相同的功能,那么为什么需要两种方法来完成相同的工作?哪种方法更有效?
  • jQuery 是官方的 jQuery 对象。 $ 是一个方便的别名。 但是$ 在其他框架中也很流行,所以可以禁用它,在这种情况下你可以使用jQuery 来代替。

标签: jquery


【解决方案1】:

$ 只是一个用于别名jQuery 的变量,并且作为一个变量,任何东西都可以分配给它。一些脚本使用jQuery 而不是$ 是为了防止与其他库发生冲突,例如原型或不同版本的jquery,它们都使用$ 变量。

阅读: http://api.jquery.com/jQuery.noConflict/

【讨论】:

    【解决方案2】:

    http://api.jquery.com/jQuery.noConflict/

    许多 JavaScript 库使用 $ 作为函数或变量名,就像 jQuery 一样。在 jQuery 的例子中,$ 只是 jQuery 的别名,所以所有功能都可以在不使用 $ 的情况下使用。

    【讨论】:

      【解决方案3】:

      jQuery site 声明:

      “在上面列出的第一个公式中,jQuery()——也可以写成 $()——在 DOM 中搜索任何与提供的选择器匹配的元素,并创建一个引用这些元素的新 jQuery 对象:”

      欲了解更多信息,请参阅this 帖子

      【讨论】:

        【解决方案4】:

        如果您单独使用 jQuery,则没有区别。这两种形式是同义词。

        如果您有第二个框架也使用$ 变量,那么您可以使用jQuery.noConflict() 让jQuery 释放$ 变量。在这种情况下,$ 将引用您的“其他”框架,而 jQuery 将始终引用 jQuery 代码。

        【讨论】:

          【解决方案5】:

          没有区别。只有这个级别的可读性。我更喜欢 $ 别名,因为它的输入更少。

          您可以将 jQuery 前缀更改为您想要的任何内容,以防止库之间发生冲突。虽然也有other tools

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-23
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多