jQuery语法 – 何时使用$(美元)vs jQuery

这两者有什么区别?

$('#SPANID').html("Some Text"); jQuery('#SPANID').html("Some Text"); 

这是jQuery的原型吗?

他们都做同样的事情。 大多数库使用$作为访问库中函数的较短方式。

jQuery有很多方法可以访问它的库:

 window.jQuery('#SPANID').html("Some Text"); window.$('#SPANID').html("Some Text"); jQuery('#SPANID').html("Some Text"); $('#SPANID').html("Some Text"); 

如果您使用多个库,则可以使用jQuery或window.jQuery代替$。

JQuery有一个名为jQuery.noConflict()的函数; 它放弃了jQuery对$变量的控制,使得$不能与jQuery一起工作。

这对于使用多个使用$的库是有好处的。

所以当你使用jQuery时,你会做jQuery('#message').addClassName('read');$('#message').addClassName('read'); 使用Prototype时。

(这下一点有点偏离主题但如果你想使用多个库的$会有所帮助)

虽然有一种方法可以同时在不同的库上使用$,但使用匿名函数。 像这样:

 (function($){ })(jQuery); (function($){ })(Prototype); 

每个函数都传递库对象,因此jQuery和Prototype作为变量$允许使用它与许多库一起使用。 如果您在每个库中包含每个库的代码,它将起作用。

例如:

 (function($){ $(document).ready(function(){ $('#message').addClass('read'); }); })(jQuery); (function($){ document.observe("dom:loaded", function() { $('message').addClassName('read'); //Or $$('#message').addClassName('read'); }); })(Prototype); 

如果你使用的是一个以上的javascript库,那么如果你只是使用$就会有冲突。 使用jQuery将避免这些。

这是同一件事的别名。 如果要在与使用$符号的其他库相同的页面上使用jQuery,可以将jQuery与.noConflict()选项一起使用。 这将允许您将$用于其他库,并使用jQuery用于jQuery库。

实际上没有区别,除了jQuery('SPANID')实际上应该是jQuery('#SPANID')

$只是jQuery的简写

编辑:我知道$和jQuery之间的真正区别在于与其他库的可能的命名空间冲突。 除此之外,他们的工作方式相同。

使用显式“jquery”可以避免冲突,如果你碰巧也引用另一个使用“$”的库

不同之处在于: $经常被其他库或JavaScript构造使用,因此可能会被覆盖,并且可能无法达到预期效果。 jQuery总是引用jQuery库,所以它会做你期望的。

在您无法保证$不会被其他内容覆盖的环境中,使用jQueryjQuery.noConflict( )$更安全。

当你有另一个已定义$库时使用jQuery。 使用$作为方便的简写,当你不这样做时(或在函数范围内,你不必担心它。:)

虽然个人而言,我认为jq会有一个很好的速记(与$相同的击键次数,可能不太常见)。

它不仅仅是简写,而是针对可能使用$字符的其他JavaScript库,以避免混淆或冲突,然后使用jquery关键字是首选。

更多详情请访问: http : //api.jquery.com/ready/

$是jQuery的别名,(jQuery)是一个Javascript库。 插件是以特定方式使用库,它创建库的特定用途并扩展其function。

一些使用示例:

“常规”jQuery代码:

  $(function(){ // my jquery code here }); 

注意:这是一个EVENT管理,也就是说,它在DOM ready事件上执行。

插件代码:

 (function($){ //theplugin code here })( jQuery ); 

这允许使用$ inside而不会产生混淆,因为它说“将jQuery赋给函数中传递的$($)


 $(function(){ //stuff here such as jQuery code }); 

如在

 $(function(){ $("#mybutton").click(function() { alert("hi");) )}; }); 

是相同的:

 (function($) { $(document).ready(function() { $("#mybutton").click(function() { alert("hi"); )}; }) })(jQuery) 

但也许不如(没有最后的绑定(jQuery)),只有在使用其他使用$的库时才会发挥作用。


$只是一个字符,因此你可以有变量,如:

myvariable = 0; $ myvariable = 0; 我的$ variable = 0;

没有什么特别的,只是使用另一个角色。

我碰巧经常使用$是$ = jQuery; 其他库也使用此字符作为常见的简写(别名类型),因此noconflict和全名(jQuery)的使用。