2012-03-07 61 views

回答

4

默認情況下,jQuery使用「$」作爲「jQuery」的快捷方式。但是,您可以通過在jQuery和其他庫都加載後的任何時刻調用jQuery.noConflict()來覆蓋該默認值。例如:

<html> 
<head> 
    <script src="prototype.js"></script> 
    <script src="jquery.js"></script> 
    <script> 
    jQuery.noConflict(); 

    // Use jQuery via jQuery(...) 
    jQuery(document).ready(function(){ 
     jQuery("div").hide(); 
    }); 

    // Use Prototype with $(...), etc. 
    $('someid').hide(); 
    </script> 
</head> 
<body></body> 
</html> 

看到http://docs.jquery.com/Using_jQuery_with_Other_Libraries

1

到Elementenfresser的答案類似,我建議使用jQuery.noConflict的頂部();你可以用一個匿名函數包裝整個jQuery代碼,保持所有jQuery代碼完整無需將所有「$」改爲「jQuery」。

jQuery.noConflict(); 
    (function($){ 
    $("div").hide(); //will use jQuery 
    })(jQuery); 

$("div").hide(); //will use prototype 
jQuery("div").hide(); //will use jQuery again. 

你可以將所有使用jQuery的javascript文件封裝到匿名函數中。你根本不需要把$改成jQuery。這也是一個性能改進,因爲在函數中聲明的所有變量都不會附加到全局範圍 - 使您的應用程序更快。

2

除了使用.noConflict()的方法,你也可以範圍你的jQuery代碼。

<script> 
(function($) { 
//write your jQuery code here. 

})(jQuery); 
</script> 
2
如果你希望能夠使用一些速記

,做

var j$ = jQuery.noConflict(); 

現在你可以使用Ĵ$,而不是$的jQuery