• JQuery最佳实践及常见错误(转自 简书)


    1 使用JQuery的ready处理器

    如果你的代码操作DOM,则需要DOM加载完成后再运行代码。推荐使用如下的第一种写法,第二种写法在JQuery3.x中已经不推荐使用了。

    $(function () { 
        /* 你的代码 */ 
    });
    
    //或者
    $(document).ready(function () { 
        /* 你的代码 */ 
    });

    2 用noConflict()避免冲突并定义别名

    如果你的jQuery代码与其它使用$符号作为别名的类库冲突,则使用noConflict()方法定义别名。

    $jq = jQuery.noConflict();
    $jq(function () {
        /* 你的代码 */ 
    }

    3 缓存JQuery对象及链式调用

    调用jQuery选择器函数$()代价较大,反复调用效率更低。

    3.1 错误的方式

    //错误
    $('#list li').addClass('strong');
    $('#list li').css('color', 'red');

    3.2 缓存JQuery对象

    //正确
    var $li = $('#list li');
    $li.addClass('strong');
    $li.css('color', 'red');

    3.3 链式调用

    //正确
    $('#list li').addClass('strong').css('color', 'red');

    4 JQuery变量命名习惯

    jQuery包装变量通常以$开头,以区别于标准JavaScript对象。

    //良好的命名习惯
    var $li = $('#list li');

    5 利用DOM原生的属性和函数

    虽然jQuery的目标之一是对DOM进行抽象,但利用DOM原生的属性和函数效率更高。在不了解DOM的情况下学习jQuery的人中最常犯的错误之一就是利用jQuery访问元素的属性。

    5.1 冗长而缓慢

    $('img').click(function () {
        $(this).attr('src');  
    });

    5.2 简洁而快速

    $('img').click(function () {
        this.src;  
    });

    6 创建元素的通用语法

    6.1 创建元素通用语法方式

    $('<p>', {
        text: p_text, 
        "class": 'red', 
        title: p_title, 
        id:  p_id
    }).appendTo("#myDiv");

    6.2 字符串拼接方式

    $('<p class="red" id="'+p_id+'" title="'+p_title+'">'+p_text+'</p>').appendTo(#myDiv);

    虽然上述两种方式语法正确,功能相同,但是第一种方式更好。第二种字符串拼接的方式可读性差,也更脆弱。

    第一种方式对特殊字符的输入是十分强大的。但第二种方式效率较第一种方式更好一些。

  • 相关阅读:
    [Agc029D]Grid game_贪心
    [Agc029C]Lexicographic constraints_进制_二分答案_贪心
    [Agc029B]Powers of two_贪心_树形dp
    [Agc029A]Irreversible operation_逆序对
    [LuoguP1074]靶形数独_搜索
    umi react处理接口请求慢的问题
    typescript-类型
    bizcharts画图遇到的几个问题
    webpack 热更新原理
    webpack配置
  • 原文地址:https://www.cnblogs.com/acuier/p/6851734.html
Copyright © 2020-2023  润新知