2011-09-16 30 views
0

我已經在我的<head>的頂部聲明jQuery,低於我引用大量其他插件。當我在我的頁面正文中執行此操作時:

<script type="text/javascript"> 
    $(function() { 
     alert('hello'); 
    }); 
</script> 

我沒有得到警報。但是,如果我再次重新聲明jQuery如此:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 

<script type="text/javascript"> 
    $(function() { 
     alert('hello'); 
    }); 
</script> 

它的工作原理。有什麼方法可以將$返回重新分配給jQuery(這是我猜測這裏是問題)。所以我可以使用$而不是jQuery noConlict。 (使用$_

+2

你當然知道,你可以只分配了jQuery一些其他變量即。 '$ j = jQuery.noConflict();'不必擔心來回切換控制。 – f0x

+0

@ f0x閱讀OP! – Neal

+0

我不明白爲什麼你會想要把它交回來,如果你能永久解決你的問題,而不必跟蹤誰控制。 – f0x

回答

1

你把你的jQuery的內聯網頁上,而不是在一個文檔準備好塊。如果您沒有將它們放在文檔就緒區塊中,則不能保證jQuery在函數被觸發前已經完全加載。

+1

上面顯示的代碼都在document.ready中。 –

1

包封物是這樣的:

<script type="text/javascript"> 
    (function($) { 
     alert('hello'); 
    })(jQuery); 
</script> 
1

如果你願意,也可以只是這樣做$返回是jQuery的全球:

window.$ = jQuery;