jQuery解决冲突noConflict
当jQuery内部的$被其他函数库覆盖
1. jQuery相关代码, 把所有的$换成jQuery
2. 如果出现大批量的$, 也可以借助匿名函数包裹执行, 执行时传递jQuery对象, 内部正常使用$
当其他函数库的$被jQuery覆盖
必须在使用其他函数库$之前, 让jQuery 让渡变量$ 的控制权
noConflict() 方法让渡变量 $ 的 jQuery 控制权。
也可以在释放对$变量控制的同时, 赋值给其他变量
_ = $.noConflict();
使用时 以 _ 代替原本的jQuery
<script>
window.onload = function () {
// 1. 解除jquery对$的引用
var _ = $.noConflict();
_('#btn1').on('click', function () {
_('#div1').hide();
});
_('#btn2').on('click', function () {
_('#div2').css('background', 'green');
_('#div3').css('background', 'blue');
});
console.log($);
}
</script>
js 与 jquery 之间相互转换
JS对象->jQuery对象
$(JS对象)
jQuery对象->JS对象
jQuery对象.get(0)
jQuery对象[0]