$和jQuery有什么区别

时间:2011-06-07 07:44:42

标签: 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'

更新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"

由于

6 个答案:

答案 0 :(得分:17)

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

$只是一个变量,用于别名jQuery并且是变量,可以为其分配任何内容。

答案 1 :(得分:9)

$jQuery两者都相同,但$只是jQuery的别名,您可以使用jQuery.noConflict模式更改或删除该别名。

答案 2 :(得分:6)

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

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

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

答案 3 :(得分:3)

看起来有些东西花了$, 要将jQuery重新分配给$,请尝试:

var $ = jQuery;

答案 4 :(得分:2)

也许您有另一个使用$?

的库

答案 5 :(得分:1)

jQuery$是相同的 - 请参阅jQuery源代码:

window.jQuery = window.$ = jQuery;

也许您使用另一个使用变量$的库,然后您必须解决命名冲突。

<script type="text/javascript">
  jQuery.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
  });
  // Code that uses other library's $ can follow here.
</script>

或者您可以使用以下代码段之一(在其正文中不会发生$冲突):

// Method 1
jQuery(document).ready(function($){
    /* some code that uses jQuery $ */ 
});

// Method 2
(function($) {
    /* some code that uses jQuery $ */ 
})(jQuery);