query特有的符號是$,但是也會出現和多個庫并用的時候會出現沖突的情況,這里做個筆記,總結一下。
jquery在其他庫之前導入
可以直接使用jQuery來代替$來使用
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript" src="./prototype.js"></script>
<script type="text/javascript">
jQuery(function(){
jQuery("selector").some_method();
});
$("selector").some_method();
</script>
jquery在其他庫之后導入
這個時候就需要添加noConflict函數
<script type="text/javascript" src="./prototype.js"></script>
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();// need use noConfict()
jQuery(function(){
jQuery("selector").some_method();
});
$("selector").some_method();
</script>
或者將jQuery.noConflict()
修改為自定義的標志如var $j = jQuery.noConflict();
如果還是想用$的話,可以采用閉包的方式。
<script type="text/javascript" src="./prototype.js"></script>
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();// need use noConfict()
jQuery(function($){
$("selector").some_method();
});
$("selector").some_method();
</script>
或者
<script type="text/javascript" src="./prototype.js"></script>
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();// need use noConfict()
(function($){
$(function(){
$("selector").some_method();
});
});
$("selector").some_method();
</script>