2011-05-02 81 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