溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery中的$符號沖突的解決方法

發(fā)布時間:2020-11-24 13:51:33 來源:億速云 閱讀:189 作者:小新 欄目:web開發(fā)

小編給大家分享一下jquery中的$符號沖突的解決方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

jquery中的$符號沖突的解決方法:使用【jQuery.noConflict([extreme])】方法解決,代碼為【var $jq = jQuery.noConflict(true);console.log($.fn.jquery)】。

jquery中的$符號沖突的解決方法:

使用jQuery.noConflict([extreme])方法。

<script src="jquery-1.5.0.js"></script>
<script src="jquery-1.11.0.js"></script>
<script>
console.log($.fn.jquery); //'1.11.0'
var $jq = jQuery.noConflict(true);
console.log($.fn.jquery); //'1.5.0'
</script>

可以看到jQuery.noConflict將變量 $ 的控制權讓渡給了1.5.0版本的jQuery庫。而要使用1.11.0的版本則要用 $jq() 代替。

但是引入了兩個版本的jQuery后,代碼很亂,導致別人難以理解甚至誤刪了一些重要代碼怎么辦?

改進的方法是:

先直接引用新版的jQuery庫。

<script src="jquery-1.11.0.js"></script>
<script src="myJS.js"></script>

把我們寫的腳本myJS.js中的主體內容寫在立即調用函數里頭,引用的是新的版本的jQuery。

//myJS.js
(function() {
//myJS.js的代碼,引用的是v1.11.0
})();

再寫一個立即調用函數,把舊版本的jQuery代碼嵌進去(壓縮代碼只有幾行)。然后在里面寫代碼,此時變量$所引用的前面嵌進去的jQuery

//myJS.js
(function () {
//...此處省略/jquery1.5.0
//jquery1.5.0的壓縮代碼
  var $ = jQuery.noConflict(true);
//此處開始寫的$()所引用的是jquery1.5.0
})();

Ps:需要檢查jQuery的協(xié)議是否允許我們把jQuery源碼直接嵌入我們自己的JavaScript代碼

2、同一頁面jQuery和其他js庫沖突解決方法

①依然可以使用jQuery.noConflict將變量$的控制權讓渡給其他js庫。

如果jQuery在其他js庫前,不需要使用noConflict。 

<!-- 引入 jquery庫 -->
<script src="jquery-1.11.0.js"></script>
<script type="text/javascript">
var $jq = $;
console.log($.fn.jquery); //'1.11.0'
</script>
<!-- 引入 其他庫-->
<script type="text/javascript">
$ = {
fn:{
jquery:"otherJS"
}
};
</script>
<script type="text/javascript"> 
console.log($.fn.jquery); //otherJS
console.log($jq.fn.jquery); //'1.11.0'
</script>

如果在其他js庫之后,用noConflict讓渡。

<!-- 引入 其他庫-->
<script type="text/javascript">
$ = {
fn:{
jquery:"otherJS"
}
};
</script>
<!-- 引入 jquery庫 -->
<script src="jquery-1.11.0.js"></script>
<script type="text/javascript"> 
console.log($.fn.jquery); //'1.11.0'
var $180 = $.noConflict(); //解除沖突
console.log($.fn.jquery); //otherJS
console.log($jq.fn.jquery); //'1.11.0'
</script>

以上是“jquery中的$符號沖突的解決方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI