HTML大面積使用ID是對是錯?

大師求解

今天看見某網站大面積使用ID 基本沒什麼class

這樣做有什麼好處嗎?

這樣做標準嗎?

特別期待百度的工程師來說說這是不是對seo很好?


用id也好,用class也好,對於CSS和JS而言,無外乎是為了查詢到一個,或者一組元素。這裡的查詢,可能是說寫CSS樣式的時候查詢,也可能是說在JS程序里查詢。

對於前一種場景,我個人的建議是除了頁面主框架,以及頁面中的具名模塊主容器可以用id,其他都用class。

對於後一種場景,目前以jQuery為代表的圍繞「Query出元素、修改元素/append元素」這種DOM操作為核心的前端開發模式個人覺得以及到了末期。

未來更多會用類似於AugularJS那種聲明式的UI開發方式,以及像Web Component這種極大地封裝了(Google稱為encapsule)內部結構的組件化開發方式。當然我並不是說AngularJS(甚至不是說MVVM),或者Web Component(還沒支持呢)就是出路,我想表達的是它是我們所能見範圍內、我認為最先進的UI開發方式了,這個感受是在了解了WPF之後才會如此深刻。

回答你最後一個問題:

特別期待百度的工程師來說說這是不是對seo很好?

我是百度的,不過是前端,跟抓取、ranking、索引什麼都沒關係。

個人認為那些說頁面里有id="content"就能SEO的基本上是在忽悠的……如果搜索引擎對你的頁面進行語義分析、正文提取可能會有點幫助,但要說能讓你Ranking更高,我反正不信。


id本來就是為了讓javascript引用的,你需要引用就給個id,不需要引用就不給id


id就是identity,用來標識其身份(唯一性)。所以如果該元素是唯一的,且需要被識別時(即css要對他制定樣式 或 js要對他進行操作),我們就給他加上id。


如果能管理好命名,id用多了也挺好,畢竟通過id找元素是最快的,不過大的頁面管理命名真是很煩啊,要麼不易讀,要麼太長...試想這樣的id:header_leftBar_innerImgBox_img...所以可以適當用用自定義屬性,很方便的...


個人習慣啊:

1: 總感覺id是唯一 一不小心就會重複。 重複了,就會被我們的檢查器檢查出。 然後就會被吵了 [命名空間問題]

2:id雖然是最快的。 但是class 在當今的cpu 當今的瀏覽器 影響大嗎?

[如果純屬從效率來看,有必要一定id嗎?]

3: 寫css 還是喜歡用class 畢竟人家是 「類」 一類嘛

[從css編寫習慣說]

4: 那麼多id 豈不是方便了別人拔代碼?

[純屬開玩笑的說]

5.。。。 突然感覺再說下去我會被人扁


ID速度快啊


ID多不怕,主要是要考慮唯一,HTML又沒命名空間,感覺最後一下子打成了C語言


id和SEO沒什麼關係吧…搜索引擎都是看特定的xml屬性,就算自動填表也是看name的。id本來就是給js用來快速找元素的,而且經常有動態元素動態id,搜索引擎看這個不是閑的沒事幹么…


用太多id說明你的網站有太多沒有共性的元素,應該盡量統一,並且使用class


id索引dom是最快的


使用類同jQuery的js舊框架,大規模使用id必不可少。如果使用目前一些新的MVVM類型的js框架,完全可以極大的減少id的使用。


這是給3454做軟廣告嗎?我看源代碼裡面,沒有大面積地使用id啊。


推薦閱讀:

HTML標籤嵌套層次?
為什麼在知乎編輯框里正確處理字元轉義如此困難?

TAG:前端開發 | HTML | JavaScript | DivCSS | 前端工程師 |