我有一個問題,$("#register") returns null
,但jQuery("#register")
正確返回對象。
這可能是值得千言萬語:
正如你可以監視表達式一切正常看到(jQuery === $ returns true
) 但在控制檯沒有。而在代碼中它也沒有,因爲$("#register").validate
字符串不起作用。
也許它必須做一些與$script.js的事情?
我有一個問題,$("#register") returns null
,但jQuery("#register")
正確返回對象。
這可能是值得千言萬語:
正如你可以監視表達式一切正常看到(jQuery === $ returns true
) 但在控制檯沒有。而在代碼中它也沒有,因爲$("#register").validate
字符串不起作用。
也許它必須做一些與$script.js的事情?
對不起,5分鐘後回覆並說代碼有效。呃。
這只是$是Web檢查器覆蓋的內容。
$ script.js不會導致衝突。
> jQuery.noConflict()
function (a,b){return new d.fn.init(a,b,g)}
> $
function()
{
return document.getElementById.apply(document, arguments)
}
這是Chrome檢查問題:)
你能解釋你如何解決這個問題? – 2017-11-12 20:32:23
@PrAtikLochawala解決什麼問題?只有在使用Chrome開發工具時纔會遇到問題。它對於$ variable有它自己的含義:[$(selector)docs](https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#queryselector)。如果調用jQuery.noConflict(),則可以將其分配給其他變量,並使用該變量而不是$,這樣就不會與chrome開發工具發生衝突。 – 2017-11-13 14:21:10
也許你正在使用的其他一些JavaScript框架劫持了$()
函數。您可以查看jQuery.noConflict()
以獲取有關在其他框架中使用jQuery的提示。
錯誤地寫成jQuery插件可能是這個問題
它發生的原因,因爲這兩個JavaScript文件聲明函數$
爲了避免任何可能的衝突,之前使用jQuery,你需要調用jQuery.noConflict();
。之後,無論何時需要使用基本腳本級別的「jQuery」對象,儘管內部可以使用$,而不是jQuery。
換句話說,你應該寫:
jQuery.noConflict();
jQuery.ready(function() {
// do stuff
$('#btn').button();
});
注意,裏面準備好了,我可以再次使用$,而不必擔心其他衝突。
你使用多個框架? – 2011-04-01 08:01:23
也許你有一些函數'$()' – 2011-04-01 08:02:43
這個問題現在已經解決 - 我認爲它的Chrome的Web Inspector的東西,覆蓋$ – 2011-04-01 08:10:47