$和jQuery有什么区别

wae*_*218 21 jquery

当我尝试使用$("#div_id")$(document).ready它返回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'
Run Code Online (Sandbox Code Playgroud)

更新2:

$(document).ready(function() {
    debugger;
});

<input type="text" id="test" name="test" value="123" />
Run Code Online (Sandbox Code Playgroud)

当我在控制台中运行以下代码时,我得到了这些结果:

$("#test").val()
TypeError: Cannot call method 'val' of null
jQuery("#test").val()
"123"
Run Code Online (Sandbox Code Playgroud)

谢谢

Gra*_*ham 17

请参阅jQuery.noConflict().您网页上的其他JavaScript库是否可以使用该$变量?

$只是一个用于别名jQuery和变量的变量,任何东西都可以分配给它.


小智 9

$并且jQuery两者都是相同的,除了$只是一个别名jQuery,您可以使用jQuery.noConflict模式更改或删除.


koe*_*tsu 6

$也用在Prototype.js中,这是一个像jQuery这样的javascript框架.可能是您的项目还包含对此框架的引用.

有关美元原型如何运作的更多信息,请转到此处.

您可以将这两个与noConflict语句一起使用,如其他答案中所述.我们在我们的一个项目中执行此操作,该项目使用遗留原型代码的$(元素)和新jQuery代码的jQuery(元素).