这两者有什么区别?
$('#SPANID').html("Some Text");
jQuery('#SPANID').html("Some Text");
Run Code Online (Sandbox Code Playgroud)
这是jQuery的原型吗?
小智 28
他们都做同样的事情.大多数库使用$作为访问库中函数的较短方式.
jQuery有很多方法可以访问它的库:
window.jQuery('#SPANID').html("Some Text");
window.$('#SPANID').html("Some Text");
jQuery('#SPANID').html("Some Text");
$('#SPANID').html("Some Text");
Run Code Online (Sandbox Code Playgroud)
如果您使用多个库,则可以使用jQuery或window.jQuery代替$.
JQuery有一个名为jQuery.noConflict()的函数; 它放弃了jQuery对$变量的控制,使得$不能与jQuery一起工作.
这对于使用多个使用$的库是有好处的.
所以,当您使用jQuery,你会做jQuery('#message').addClassName('read');和$('#message').addClassName('read');使用原型时.
(这下一点有点偏离主题,但如果你想使用多个库的$,将有所帮助)
虽然有一种方法可以同时在不同的库上使用$,但使用匿名函数.像这样:
(function($){
})(jQuery);
(function($){
})(Prototype);
Run Code Online (Sandbox Code Playgroud)
每个函数都传递库对象,所以jQuery和Prototype作为变量$允许使用它与许多库一起使用.如果您在每个库中包含每个库的代码,它将起作用.
例如:
(function($){
$(document).ready(function(){
$('#message').addClass('read');
});
})(jQuery);
(function($){
document.observe("dom:loaded", function() {
$('message').addClassName('read');
//Or
$$('#message').addClassName('read');
});
})(Prototype);
Run Code Online (Sandbox Code Playgroud)
Pat*_*cia 16
如果你使用的是一个以上的javascript库,那么如果你只使用$就会有冲突.使用jQuery将避免这些.
| 归档时间: |
|
| 查看次数: |
15688 次 |
| 最近记录: |