第一个片段无法正常工作.但是,当用jQuery替换所有$(美元符号)时它会开始工作(参见第二个片段).但我真的不明白为什么?任何人都可以向我解释这个吗?非常感谢!
第一个片段
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");
});
});
Run Code Online (Sandbox Code Playgroud)
第二个片段
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");
});
});
Run Code Online (Sandbox Code Playgroud)
Nic*_*tti 96
这是因为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");
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53964 次 |
| 最近记录: |