【问题标题】:jQuery Coding ConventionsjQuery 编码约定
【发布时间】:2010-07-04 00:59:31
【问题描述】:

我一直在寻找一些 jQuery 编码约定,但确实找到了一个完整的列表。

例如,我应该如何命名我的 html 标签的 id,我喜欢第一个,因为它符合我的 css 约定,但是在某些情况下会给我带来不便吗?

<div id="comment-list"></div>
<div id="commentList"></div>
<div id="CommentList"></div>

而且,单引号还是双引号更可取 $('#obj') 与 $("#obj")?

另外,假设我使用一个全局文件,如果我要使用其他 js 库,是否应该用以下内容包围我的所有代码以避免 $ 符号冲突?

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

我应该使用更多的 js 文件还是将所有内容放在一个全局文件中?

等等。遵循哪些约定可以使您在大型项目中使用 jQuery 进行编码更容易?

【问题讨论】:

    标签: jquery coding-style


    【解决方案1】:

    我总是使用您喜欢的 css 约定 - 并且在这些元素上使用 jQuery 没有任何问题。就单/双引号而言 - 我只在值包含 HTML 标记时使用单引号。即

    $("#el").html('<div class="wrap">Hey!</div>');
    

    我注意到您在我回答后更新了您的问题。

    对于多库冲突,您可以在兼容模式下使用库。例如:

    var $j = jQuery.noConflict();
    $j(document).ready(function () {
       $j("body").css('background', 'red');
    });
    

    至于使用单个/多个文件,它实际上归结为整洁与性能。

    每个新的 .js 文件都需要向服务器发出额外的请求,从而降低您的网站速度。但是,如果您要编写 5000 行代码来完成许多不同的事情,您当然可以考虑将它们组织在多个文件中。

    不过,在这些情况下,我更喜欢将我的脚本在我的开发环境中分开,然后将它们组合成一个 global.js 文件,然后我将其缩小以用于生产。

    HTH,马尔科

    【讨论】:

    • 我同意。由于 CSS 和 jQuery 都将通过 id/class 引用元素,所以我会保持它们相同。使用您的团队喜欢的任何约定。
    【解决方案2】:

    在 HTML、XML、CSS 和 URL 中,多词名称通常是“破折号”(其中词由破折号分隔)。在这些情况下,将您自己的多词名称虚化最符合上下文。

    <div id="comment-list">...</div>
    

    在 JavaScript 中,单引号和双引号是相同的。选择最自然的方式,但要始终如一。

    您应该清楚地编写代码 - 在多个文件中。在开发和测试中,使用多个文件。对于生产(和临时站点),您可以连接和缩小您的 JavaScript 和 CSS 文件。最佳实践是使用帮助函数来写出链接到这些脚本和样式表的 HTML,但它足够聪明,可以在开发和测试中使用多个文件以及在生产中使用已处理的文件。

    <%= javascript "jquery", "jquery-ui", "application", "users-page" %>
    

    【讨论】:

      【解决方案3】:

      我通常在类名中使用 -s,在 id 中使用 _s。

      【讨论】:

        猜你喜欢
        • 2014-03-06
        • 2013-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多