2011-05-02 52 views
1

我正在尋找一些體面的編碼標準和JavaScript的最佳編程實踐?JavaScript的編碼標準和最佳編程實踐

我有一個C#背景。在網頁上如何命名控件?如果你有一個按鈕,你會如何命名id屬性?在ASP.NET中,我們稱之爲btnSearch。 Treeviews將會像tvUsers一樣。

我正在使用YUI API,但在這裏也適用。

+1

@NeXXeuS - 鏈接是http://programmers.stackexchange.com – 2011-05-02 16:50:33

+0

道格拉斯克羅克福德完整的書,先觀看視頻。 – 2011-05-02 16:51:14

+0

哎呀,謝謝。 @JohnGiotta – mattsven 2011-05-02 16:53:01

回答

0

沒有明確的JS的PEP-8等風格指南。儘管如此,JavaScript Garden包含一些關於它的怪癖的很好的信息。通過研究你可能會學到一兩招。 :)

考慮到你的id問題,我寧願在編寫應用程序時避免使用id。這僅僅是因爲事情很容易結束衝突。

取而代之,我喜歡通過JS(直接引用elem)動態構造我的元素,並使用類屬性進行樣式設計(即「.clear.button」)。我不確定是否有其他人這樣做,雖然...

既然你正在處理YUI,它可能你有一些特定的約定。

+0

你如何在JS中創建元素?提交表單時你會做什麼,你可能需要參考一個文本框? ID會幫助獲取對特定元素的引用嗎? – 2011-05-04 06:49:20

+0

DOM提供了用於創建許多框架包裝的元素(createElement,appendChild)的方法。我的情況有點特殊,因爲我不必在應用程序中處理表單等。不過,我認爲有一些標準的方法可以解決這個問題。也許你只是在服務器端生成JS,並獲得這樣的ID。我記得在Django做這樣的事情。 – 2011-05-04 07:14:18

2

我有一個C#背景。如何在網頁上命名 控件?

客戶端ID是控件的屬性: controlId.ClientID

例子:

string MyJavaScriptControlId = btnSearch.ClientID; 

或者,在你的aspx:

<script type="text/javascript"> 
    htmlElement = document.getElementById('<% tvUsers.ClientID %>'); 
</script> 
+0

我只是想知道如何在JS中命名你的元素。 C#部分就是我在C#中如何命名它們的。你會說它是相同的,還是在使用JS時遵循另一個命名約定。 – 2011-05-04 06:51:04

+0

@Brendan,默認情況下,C#控件的ID不會傳遞給客戶端。客戶端ID在運行時生成,並作爲ClientID存儲在元素中。您可以更改使用ClientIDMode選項生成clientID的方式。如果設置ClientIDMode =「static」,那麼clientID將與背景ID相同。 – Andre 2011-05-04 12:38:15