jQuery(函数($)和$(函数()之间有什么区别?

jQuery(函数($)和$(函数()之间有什么区别?,jquery,function,styles,Jquery,Function,Styles,我正在查看一段我没有编写的代码,其中包含: jQuery(function($) { $('#interaction').find('.item').hover(function() { var $this = $(this); $this.addClass('hover'); }, function() { var $this = $(this); $this.removeClass('hover'); }) .click(function() { v

我正在查看一段我没有编写的代码,其中包含:

jQuery(function($) {

$('#interaction').find('.item').hover(function() {
    var $this = $(this);
    $this.addClass('hover');
},
function() {
    var $this = $(this);
    $this.removeClass('hover');
})
.click(function() {
    var $this = $(this);
    var thisID = $this.attr('id');
    //hide all visiable detail pages
    resetpage($('.item-detail:visible'));

... etc.
通常我会编写代码在$(document).ready({…})中运行;例如:

$(document).ready({

    .click(function() {
        var $this = $(this);
        var thisID = $this.attr('id');
        //hide all visiable detail pages
        resetpage($('.item-detail:visible'));
        ... etc.

    }
});

这两种编写函数的方法有什么区别(如果有的话)或者我可以互换使用它们吗?

您可以互换使用它们。
$
jQuery
的缩写,
$(function(){..})
$(document.ready(function(){});


有时人们使用
jQuery(function($){});
是因为
$
符号被另一个库使用,或者与服务器上的
PHP
冲突。

您可以互换使用它们。
$
jQuery
的缩写,
$(function(){..})
$(document)的缩写。准备好了吗(函数(){});


有时人们使用
jQuery(function($){});
是因为
$
符号被另一个库使用,或者与服务器上的
PHP
冲突。

关于domready方法的更多信息:关于domready方法的更多信息:谢谢。我问了老板,她告诉我我们需要使用jQuery函数($){…在这里编写代码时,该公司网站使用的jQuery版本是由某个第三方供应商编写的,这是他们希望我们使用的,而不是$(document)。准备好了吗({…但她不能再详细说明了。@SouthCoaster-那么是的,这很可能是为了避免冲突。奇怪的是,你使用的是由第三方供应商编辑的jQuery版本-一般来说,任何进一步的添加/功能都应该只是插件。是的,我也这么认为,显然这是一个非常旧的版本o(我认为定制版本为1.4.x).因此,我刚刚实现的使用CSS3转换的新图像传送带中有一些代码显然与旧版本不兼容,我们无法升级,因此我将不得不让他们包括/链接到当前版本以及旧版本,因为他们不想升级,因为这将需要大量的站点范围的QA测试。lame…@SouthCoaster-尽量不要包含两个版本的jQuery-这可能会引起严重的麻烦。我想你唯一的选择是使用更多与1.4.x兼容的插件。是的,最终决定我们只能使用与1.4.1兼容的代码(我们自定义版本的jQuery版本是从中创建的)。这意味着重新设计我刚刚实现的旋转木马,使用
.bind
而不是
.on
,并使用
JQuery(function($){});
在页面中调用脚本,但现在它似乎工作正常。谢谢。我问了老板,她告诉我需要使用JQuery function($){…在这里编写代码时,该公司网站使用的jQuery版本是由某个第三方供应商编写的,这是他们希望我们使用的,而不是$(document)。准备好了吗({…但她不能再详细说明了。@SouthCoaster-那么是的,这很可能是为了避免冲突。奇怪的是,你使用的是由第三方供应商编辑的jQuery版本-一般来说,任何进一步的添加/功能都应该只是插件。是的,我也这么认为,显然这是一个非常旧的版本o(我认为定制版本为1.4.x).因此,我刚刚实现的使用CSS3转换的新图像传送带中有一些代码显然与旧版本不兼容,我们无法升级,因此我将不得不让他们包括/链接到当前版本以及旧版本,因为他们不想升级,因为这将需要大量的站点范围的QA测试。lame…@SouthCoaster-尽量不要包含两个版本的jQuery-这可能会引起严重的麻烦。我想你唯一的选择是使用更多与1.4.x兼容的插件。是的,最终决定我们只能使用与1.4.1兼容的代码(我们自定义版本的jQuery版本是从中创建的)这意味着重新设计我刚刚实现的旋转木马,使用
.bind
而不是
.on
,并使用
JQuery(function($){});
在页面中调用脚本,但现在它似乎工作正常。