Rumah > hujung hadapan web > tutorial js > jquery中的$符号冲突怎么解决

jquery中的$符号冲突怎么解决

coldplay.xixi
Lepaskan: 2020-11-24 12:00:05
asal
2763 orang telah melayarinya

jquery中的$符号冲突的解决方法:使用【jQuery.noConflict([extreme])】方法解决,代码为【var $jq = jQuery.noConflict(true);console.log($.fn.jquery)】。

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); //&#39;1.11.0&#39;
var $jq = jQuery.noConflict(true);
console.log($.fn.jquery); //&#39;1.5.0&#39;
</script>
Salin selepas log masuk

可以看到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>
Salin selepas log masuk

把我们写的脚本myJS.js中的主体内容写在立即调用函数里头,引用的是新的版本的jQuery。

//myJS.js
(function() {
//myJS.js的代码,引用的是v1.11.0
})();
Salin selepas log masuk

再写一个立即调用函数,把旧版本的jQuery代码嵌进去(压缩代码只有几行)。然后在里面写代码,此时变量$所引用的前面嵌进去的jQuery

//myJS.js
(function () {
//...此处省略/jquery1.5.0
//jquery1.5.0的压缩代码
  var $ = jQuery.noConflict(true);
//此处开始写的$()所引用的是jquery1.5.0
})();
Salin selepas log masuk

Ps:需要检查jQuery的协议是否允许我们把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); //&#39;1.11.0&#39;
</script>
<!-- 引入 其他库-->
<script type="text/javascript">
$ = {
fn:{
jquery:"otherJS"
}
};
</script>
<script type="text/javascript"> 
console.log($.fn.jquery); //otherJS
console.log($jq.fn.jquery); //&#39;1.11.0&#39;
</script>
Salin selepas log masuk

如果在其他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); //&#39;1.11.0&#39;
var $180 = $.noConflict(); //解除冲突
console.log($.fn.jquery); //otherJS
console.log($jq.fn.jquery); //&#39;1.11.0&#39;
</script>
Salin selepas log masuk

相关免费学习推荐:JavaScript(视频)

Atas ialah kandungan terperinci jquery中的$符号冲突怎么解决. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan