jQuery多庫共存解決方案

來源:互聯網
上載者:User

官方給的方法如下:
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,有了這個後,我們就不必在為有多個庫使用$而煩腦了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.