2010-07-04 28 views
1

我一直在尋找一些jQuery編碼約定,但真的找到了一個完整的列表。jQuery代碼約定

例如,我應該如何命名我的html標籤的id,我喜歡第一個,因爲它符合我的css約定,但它會給我一些senarios帶來不便嗎?

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

而且,是單引號還是雙引號更喜歡$('#obj')和$(「#obj」)?

另外,假如我使用一個全局文件,我是否應該用以下代碼覆蓋所有代碼以避免$ sign衝突,如果我要使用其他js庫?

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

我應該使用更多的js文件還是將所有內容放在一個全局文件中?

等什麼是你的約定是什麼遵循,使你在大型項目jQuery編碼更容易?

回答

2

我總是使用你的首選的CSS約定 - 並已在這些元素上使用jQuery沒有任何問題。就單/雙引號而言 - 當值包含HTML標記時,我只使用單引號。即

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

我注意到你更新你的問題後,我回答了。

對於多庫衝突,您可以在兼容模式下使用這些庫。例如:

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

至於使用單個/多個文件它真的歸結爲整潔vs性能。

每個新的.js文件都需要額外的請求到服務器,從而減慢您的網站。但是如果你要編寫5000行代碼來完成許多不同的事情,你當然可以考慮把它們組織成多個文件。

但在這些情況下,我更願意將我的腳本分開存放在我的開發環境中,然後將它們合併爲一個global.js文件,然後我將其製作爲小文件。

HTH,馬爾科

+1

我同意。既然CSS和jQuery都會通過id/class引用元素,我會保持它們一樣。使用你的團隊喜歡的任何約定。 – 2010-07-04 01:25:55

1

在HTML,XML,CSS,和URL,多字的名字通常是 「底線轉換」(其中的文字,被虛線分開的)。在這些情況下,將自己的多詞名稱破解最符合上下文。

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

在JavaScript中,單引號和雙引號是相同的。選擇最自然的做法,但要保持一致。

你應該乾淨地寫你的代碼 - 在多個文件中。在開發和測試中,使用多個文件。對於製作(和分段站點),您可以連接並縮小JavaScript和CSS文件。最佳做法是利用輔助函數寫出鏈接到這些腳本和樣式表的HTML,但它足夠聰明,可以在開發和測試中使用多個文件,並可以在生產中使用處理過的文件。

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

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