为什么$()不起作用,但jQuery()的作品?
我有一个问题,$("#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
错误地写成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