为什么$()不起作用但jQuery()有效?
我有一个问题, $("#register") returns null
,但jQuery("#register")
正确返回对象。
这可能值千言万语:
正如您在Watch表达式中看到的,一切都按预期工作( jQuery === $ returns true
)但是在控制台中却没有。 而在代码中它也没有,因为$("#register").validate
字符串不起作用。
也许它必须用$ script.js做一些事情?
也许你正在使用的其他一些javascript框架劫持了$()
函数。 您可以查看jQuery.noConflict()
以获取有关将jQuery与其他框架一起使用的提示。
编写错误的jQuery插件可能是导致此问题的原因
为了避免任何可能的冲突,在使用jQuery之前,需要调用jQuery.noConflict();
。 然后,只要你需要使用它就在基本脚本级别使用“jQuery”对象,虽然在任何这样的方法内部你可以使用$而不是jQuery。
换句话说,你应该写:
jQuery.noConflict(); jQuery.ready(function() { // do stuff $('#btn').button(); });
请注意,在准备好之内,我可以再次使用$而不必担心其他冲突。
我很抱歉在5分钟内回来并说代码有效。 呃。
这只是网络检查员重写的内容。
$ script.js不会导致冲突。
> jQuery.noConflict() function (a,b){return new d.fn.init(a,b,g)} > $ function () { return document.getElementById.apply(document, arguments) }
这是铬检查员的问题:)
这是因为两个JavaScript文件都声明了函数$