替换“$&引用;(美元符号)加上“;JQuery";
第一段代码不起作用。但是,当将所有$(美元符号)替换为jQuery(请参见第二段)时,它就开始工作了。但我真的不明白为什么?谁能给我解释一下吗?非常感谢 第一个片段替换“$&引用;(美元符号)加上“;JQuery";,jquery,Jquery,第一段代码不起作用。但是,当将所有$(美元符号)替换为jQuery(请参见第二段)时,它就开始工作了。但我真的不明白为什么?谁能给我解释一下吗?非常感谢 第一个片段 jQuery.noConflict(); $(document).ready(function(){ $("#insideTable > tbody > tr:odd").addClass("odd");
jQuery.noConflict();
$(document).ready(function(){
$("#insideTable > tbody > tr:odd").addClass("odd");
$("#insideTable > tbody > tr:not(.odd)").hide();
$("#insideTable > tbody > tr:odd").show();
$("#insideTable > tbody > tr.odd").click(function(){
$(this).next().toggle();
$(this).find(".arrow").toggleClass("up");
});
});
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery("#insideTable > tbody > tr:odd").addClass("odd");
jQuery("#insideTable > tbody > tr:not(.odd)").hide();
jQuery("#insideTable > tbody > tr:odd").show();
jQuery("#insideTable > tbody > tr.odd").click(function(){
jQuery(this).next().toggle();
jQuery(this).find(".arrow").toggleClass("up");
});
});
第二段代码
jQuery.noConflict();
$(document).ready(function(){
$("#insideTable > tbody > tr:odd").addClass("odd");
$("#insideTable > tbody > tr:not(.odd)").hide();
$("#insideTable > tbody > tr:odd").show();
$("#insideTable > tbody > tr.odd").click(function(){
$(this).next().toggle();
$(this).find(".arrow").toggleClass("up");
});
});
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery("#insideTable > tbody > tr:odd").addClass("odd");
jQuery("#insideTable > tbody > tr:not(.odd)").hide();
jQuery("#insideTable > tbody > tr:odd").show();
jQuery("#insideTable > tbody > tr.odd").click(function(){
jQuery(this).next().toggle();
jQuery(this).find(".arrow").toggleClass("up");
});
});
这是因为
jQuery.noConflict()
将“$”从与jQuery关联中“释放”。通常在代码中,可以使用$替换“jQuery”。如果您使用noConflict()
您就不能再这样做了,因此您必须将每个“$”替换为“jQuery”
许多JavaScript库使用$作为函数或变量名,只是
就像jQuery一样。在jQuery中,$只是jQuery的别名,所以
所有功能均可用,无需使用$。如果我们需要使用
除了jQuery之外还有另一个JavaScript库,我们可以返回
通过调用$.noConflict()$返回到另一个库:
您还可以创建一个全新的别名来使用
var myJqueryAlias = jQuery.noConflict();
myJqueryAlias(document).ready(function(){
myJqueryAlias("#insideTable > tbody > tr:odd").addClass("odd");
myJqueryAlias("#insideTable > tbody > tr:not(.odd)").hide();
myJqueryAlias("#insideTable > tbody > tr:odd").show();
myJqueryAlias("#insideTable > tbody > tr.odd").click(function(){
myJqueryAlias(this).next().toggle();
myJqueryAlias(this).find(".arrow").toggleClass("up");
});
});
调用noConflict()将删除$和jQuery函数之间的关联。这样,您就可以使用另一个JavaScript库,该库也可以缩短到$,而不会产生冲突。这样做有效,只需指出传递给
ready
回调的第一个参数是jQuery对象,因此您可以执行.ready(函数($){
,然后在函数内部使用$
,只要不需要使用外部的$进行填充。