jQuery和$的问题

前端之家收集整理的这篇文章主要介绍了jQuery和$的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在修改一些有很多jQuery的代码,但我不知道有些jQuery语句正在做什么.

在jQuery代码的顶部有

jQuery.noConflict

* 1.我明白那个.但是有一些代码有:

<script type="text/javascript">
(function($) {

$(document).ready(function() {

    jQuery.fn.fixEmail = function() {
    {
   return $(this).each(function() {
       var $s = $(this);                  
           ...code...
        }
}
</script>

我得到那个jQuery是因为noConflict使用的.什么是参数$?

* 2.在另一个功能,他们使用

<script type="text/javascript">
jQuery(function(){
    var $= jQuery;
    var cc = {
        mode : 'teaser',featureVisible : true,$loader : '<p class="loadingAnimation"><img height="32" src="' +
                config.xoImgUrl +
                '/images/ajax-loader.gif" width="32" /></p>',....more code...
            }
}
</script>

所以他们从$noConflict设置$到jQuery.但为什么?他们可以刚刚使用jQuery吗?

* 3.有一个我想要使用的插件,由

var $j = jQuery.noConflict();
    var $= {};
    $j(document).ready(function(){
        $j.history.init(pageload);
        $j("a[@rel='history']").click(function(){
            ...more code...
        });
    });

我知道noConflict是什么,但是var $= {}做什么?

解决方法

示例1:

我想你错过了一些代码

(function($) {

$(document).ready(function() {

    jQuery.fn.fixEmail = function() {
    {
   return $(this).each(function() {
       var $s = $(this);                  
           ...code...
        }
}
)(jQuery); //This line was missing in your code.

让我们重写这段代码,了解发生了什么.

function complicatedFunction($) {
          // the document.ready call goes here.
}

接下来,你怎么称之为这个功能

complicatedFunction(someObject);

所以里面的complexFunction $是指someObject.同意?

如果你写

complicatedFunction(jQuery);

然后在函数内部,$指的是jQuery对象.所以里面的一切,complexFunction可以像普通的jQuery用户一样使用’$’.

回到原来的代码,如果我们决定不给这个功能命名,即使它成为匿名的,你可以像

(function($) { })(jQuery);

您正在创建一个匿名函数,使用一个名为$的参数.
你立即调用这个匿名函数传递它的jQuery对象.
这样,您不要修改全局$对象,而匿名函数中的所有代码都可以像$一样工作.很酷,不是吗? 原文链接:https://www.f2er.com/jquery/178861.html

猜你在找的jQuery相关文章