1. 程式人生 > >jquery解決版本衝突

jquery解決版本衝突

版本衝突的表現

運用了這個jquery.min.js指令碼之後再運用其他js指令碼的程式碼兩個都不能運行了,遮蔽掉其中一個才可以執行。

詳細的例子:

有一個頁面,header呼叫的是1.6版本的類庫,下邊的兩個小指令碼呼叫的是1.4的,頁面重新整理之後,頭部正常,但是下邊的指令碼有一部分功能卻失效了。

原因和解決方法

$符號的讓渡問題,樓上的做法是正確的,不過還有種做法,就是另外封裝$符號,在你的程式碼的最外層加上:
(function($){
    這裡放你原來的程式碼,就可以了
})(jQuery)

解決例項

<!-- 引入1.6.4版的jq --> <script
 src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"></script> <script> var jq164 = jQuery.noConflict(true); </script> <!-- 引入1.4.2版的jq --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script> <script> var jq142 = jQuery.noConflict(true); </
script> <script> (function($){ //此時的$是jQuery-1.6.4 $('#header'); })(jq164); </script> <script> (function($){ //此時的$是jQuery-1.4.2 $('#footer'); })(jq142); </script>