当我尝试在$(document).ready
中使用$("#div_id")
时,它返回NULL,但是当我使用jQuery("#div_id")
时,它返回实际的对象!
为什么会发生这种情况?
更新:我尝试了noConflict方法,但没有得到任何提示。
jQuery.noConflict()
function (a,b){return new c.fn.init(a,b)}
$.noConflict();
TypeError: Object function ()
{
return document.getElementById.apply(document, arguments)
} has no method 'noConflict'
更新2:
$(document).ready(function() {
debugger;
});
<input type="text" id="test" name="test" value="123" />
当我在控制台中运行以下代码时,我得到了这些结果:
$("#test").val()
TypeError: Cannot call method 'val' of null
jQuery("#test").val()
"123"
谢谢
发布于 2011-06-07 15:47:47
参见jQuery.noConflict()。您的页面上的其他javascript库可能正在使用$
变量吗?
$
只是一个用来给jQuery
起别名的变量,作为一个变量,任何东西都可以赋值给它。
发布于 2011-06-07 16:09:22
$
和jQuery
都是一样的,只是$
只是jQuery
的一个别名,您可以使用jQuery.noConflict
模式更改或删除它。
发布于 2011-06-07 15:51:22
$也用在Prototype.js中,这是一个类似于jQuery的javascript框架。可能的情况是,您的项目也包含对此框架的引用。
有关美元原型如何工作的更多信息,请访问here。
您可以将这两个语句与noConflict语句一起使用,如其他答案中所述。我们在我们的一个项目中这样做,它将$(元素)用于旧的原型代码,并将jQuery (元素)用于新的jQuery代码。
https://stackoverflow.com/questions/6262071
复制相似问题