为什么$()不起作用但jQuery()有效?

我有一个问题, $("#register") returns null ,但jQuery("#register")正确返回对象。

这可能值千言万语:

Chrome检查员表达了问题

正如您在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文件都声明了函数$