2012-01-20 46 views
5

我有一個關於html元素名稱的常規查詢。html元素的命名約定

我在過去的開發人員,例如一個div元素的HTML元素的ID前面放置一個前綴已經看到 - > dvMyDiv

命名元素時,我已經看到了外殼的搭配。類似於爲元素類指定名稱。

所以我想知道有什麼標準或約定的HTML元素應該命名?什麼外殼?他們應該有前綴等?

我正在使用asp.net web表單,html5,css3和jquery,所以想要某種形式的命名約定的標準,我可以與其他開發人員共享。

+0

您是指HTML標識和類名稱還是.NET控件ID? – Stefan

+1

「我在過去看到開發者在他們的html元素的id之前放置一個前綴,比如div元素 - > dvMyDiv」 - 我討厭這個。不需要將類名稱與其所用元素的類型聯繫起來。在HTML中,您可以在那裏看到元素的類型。在CSS中,如果重要的是什麼類型的元素,那麼也選擇元素,即'div.MyDiv'。如果不重要,不要因爲嘗試應用C語言中的好主意而使用前綴混淆類名(請參閱http://www.joelonsoftware中的「我是匈牙利」部分.COM /用品/ Wrong.html)。 –

+0

另一方面,在您的特定網站/應用程序中使用的*有意義的*類/ ID前綴,並且被記錄和一致地應用,足夠公平。 –

回答

2

我同意一致性 - 如果你已經有一個約定,然後堅持下去。

但是,如果你制定一個新的約定,這種匈牙利符號可能是一個非常糟糕的主意,因爲它根本不是乾的。例如,標籤的名稱是<div>,然後您的班級的名稱再次表示它是一個div。如果您使用<div> s更改爲<section> s,那麼您的代碼將會過期,或者您必須更改所有類名(可能使用HTML,CSS和JavaScript)。由於您可以使用類似div.classname這樣的代碼來定位課程,因此它絕對不會添加任何值。

一個更好的想法是在他們包含的內容類型後命名事物。例如,在博客中,您可能會使用如下所示的HTML:

<section class="posts"> 
    <article id="post-1" class="post"> 
    <h1>Post Title</h1> 
    <div class="post-content"> 
     <p>Blah blah blah</p> 
     <p>Blah blah blah</p> 
    </div> 
    <time class="timestamp">17th January 2012</time> 
    </article> 
    <article id="post-2" class="post"> 
    <h1>Post Title</h1> 
    <div class="post-content"> 
     <p>Blah blah blah</p> 
     <p>Blah blah blah</p> 
    </div> 
    <time class="timestamp">18th January 2012</time> 
    </article> 
</section> 
<aside class="top-posts block"></aside> 
<aside class="contact-form block"></aside> 
0

修訂: 閱讀它出現了很多非常知名的開發商和微軟不再推薦匈牙利命名法維基文章之後。


導致我相信Hungarian notation是一個非常受歡迎的命名約定。另外,我相信這是微軟推薦和使用的慣例。

我想最重要的是一致性。你應該選擇一個慣例並堅持下去。

+0

請參閱http://www.joelonsoftware.com/articles/Wrong.html中的「我是匈牙利」部分,瞭解歷史,目的並濫用匈牙利符號。 –

1

你和你的同事都不應該決定你想使用什麼樣的格式並堅持下去。前綴的東西是一種匈牙利符號。但我不太喜歡它。只要確保名稱清晰和描述性。