0

是否可以将 jquery 源代码中的名称“jQuery”更改为其他名称。我想用这个新名称执行我的 jQuery 操作。
例如: 我该怎么做jQuery('#something').attr();myName('#something').attr();

4

2 回答 2

7
var myName = jQuery.noConflict(true);

这将恢复它们之前$jQuery任何值(可能undefined)并将 jQuery 对象分配给myName.

但是,考虑使用 jQuery 将代码包装在$指向 jQuery 对象的闭包中:

(function($) {
    $('#something').something();
})(jQuery.noConflict(true));

使用您的代码的人希望$被使用,如果他们不得不使用其他东西,他们很可能会感到恼火;特别是如果它更长!

如果不需要去掉$and jQuery,就不要用了jQuery.noConflict(true),直接写jQuery在我用过的地方jQuery.noConflict(true)。还要记住,如果您jQuery在加载它们之前删除全局,则没有 jQuery 插件将起作用(如果它们已正确编写,则在加载它们之后这样做很好,即使用我向您建议的闭包)

于 2012-05-18T13:52:51.890 回答
1
 var $j = jQuery.noConflict();

 // Use jQuery via $j(...)
 $j(document).ready(function(){
   $j("div").hide();
 });
于 2012-05-18T13:53:19.963 回答