Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换“$&引用;(美元符号)加上“;JQuery";_Jquery - Fatal编程技术网

替换“$&引用;(美元符号)加上“;JQuery";

替换“$&引用;(美元符号)加上“;JQuery";,jquery,Jquery,第一段代码不起作用。但是,当将所有$(美元符号)替换为jQuery(请参见第二段)时,它就开始工作了。但我真的不明白为什么?谁能给我解释一下吗?非常感谢 第一个片段 jQuery.noConflict(); $(document).ready(function(){ $("#insideTable > tbody > tr:odd").addClass("odd");

第一段代码不起作用。但是,当将所有$(美元符号)替换为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");
                    });

                });
        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(函数($){
,然后在函数内部使用
$
,只要不需要使用外部的$进行填充。