天天看點

CSS選擇器優先級 jquery選擇器優先級

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。