官方給的方法如下:
jQuery.noConflict(),調用這個方法,會返回一個值,傳回值可以理解為,為jQuery的$函數在取一個別名吧。
這個方法的解釋如下:
運行這個函數將變數$的控制權讓渡給第一個實現它的那個庫。
這有助於確保jQuery不會與其他庫的$對象發生衝突。
在運行這個函數後,就只能使用jQuery變數訪問jQuery對象。例如,在要用到$("div p")的地方,就必須換成jQuery("div p")。
注意:這個函數必須在你匯入jQuery檔案之後,並且在匯入另一個導致衝突的庫之前使用。當然也應當在其他衝突的庫被使用之前,除非jQuery是最後一個匯入的。
OK,這樣一來的話,$這個函數就沒辦法用了,這不是很鬱悶,我可不想習慣了$在去投奔其它的函數名了。怎麼辦呢?辦法還是有的,如下代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html http://www.w3.org/1999/xhtml" target=_blank>http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script><!--匯入jQuery庫,當然網站上用應該使用壓檔案,開發在VS08下使用jquery-1.3.2-vsdoc.js,會有智能提示-->
<script type="text/javascript">
$ = document.getElementById;//定義一個$函數,與jQuery的$函數發生衝突
(function($) {//使用匿名方法(閉包{具體叫法尚不明朗,先這麼叫吧}),接收一個參數$
$(function() {
$("#show").css({
border: "1px dotted #336699", width: "200px", height: "150px", color:
"red" }).html("今天天氣不錯,挺風和日麗的!");
});
})(jQuery);//給前的匿名函數傳參,最終前面$裡面儲存的是jQuery,
</script>
</head>
<body>
<div id="show"></div>
</body>
</html>
OK,有了這個後,我們就不必在為有多個庫使用$而煩腦了。