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