css選擇器主要分為三類:标簽名選擇器、類選擇器、ID選擇器。當然後續還擴充了一些後代選擇器和群組選擇器。 一、 下面對着5中選擇器進行舉例: 1. 标簽名選擇器 div { color:Red;} 即頁面中的各個标簽名的css樣式 2.類選擇器 .divClass {color:Red;} 即定義的每個标簽的class 中的css樣式 3.ID選擇器 #myDiv {color:Red;} 即頁面中的标簽的id 4.後代選擇器(類選擇器的後代選擇器) .divClass span { color:Red;} 即多個選擇器以逗号的格式分隔 命名找到準确的标簽 5.群組選擇器 div,span,img {color:Red} 即具有相同樣式的标簽分組顯示 二、 選擇器的優先級 1.最高優先級是 (直接在标簽中的設定樣式,假設級别為1000)<div style="color:Red;"></div> 2.次優先級是(ID選擇器 ,假設級别為100) #myDiv{color:Red;} 3.其次優先級是(類選擇器,假設級别為10) .divClass{color:Red;} 4.最後優先級是 (标簽選擇器,假設級别是 1) div{color:Red;} 5.那麼後代選擇器的優先級就可以計算了啊 比如 .divClass span { color:Red;} 優先級别就是:10+1=11 總結:對于在什麼情況下使用什麼樣的選擇器,原則有三點:一選擇可以準确的找到要控制的标簽;二使用最合理的優先級的選擇器;三還要是html和css看起來簡潔美觀可讀性強。 通常: 1.最常用的選擇器是類選擇器 2.li td dd 等經常大量連續出現并且樣式相同或相似的情況下,一般選用類選擇器和标簽選擇器結合的後代選擇器 例:.XX li/td/dd {} 3.極少的情況下會用ID選擇器。 三、 jquery選擇器優先級 jquery 是沒有優先級的,jquery是按照你的條件周遊一次DOM tree,是以寫條件的時候最好盡量縮小範圍和用ID,避免要周遊全部DOM,這樣效率是最快的
比如$('#idA'),$('div .classA'),$('.classA'),效率最好的是$('#idA'),而$('div .classA')又比$('.classA')的效率高,最後一個效率是最低的,因為jquery會周遊整個TREE。