CSS選擇器和jQuery選擇器的區別與聯絡
阿新 • • 發佈:2021-07-28
到底什麼是選擇器?通過常接觸的CSS選擇器和jQuery選擇器理解一下,我們知道CSS是用於分離網頁的結構和表現的,也就是說對於一個網頁,HTML定義網頁的結構,CSS描述網頁的樣子,一個很經典的例子是說HTML就像一個人的骨骼、器官,而CSS就是人的面板,有了這兩樣也就構成了一個植物人了,加上javascript,這個植物人就可以對外界刺激做出反應,可以思考、運動、可以給自己整容化妝(改變CSS)等等,成為一個活生生的人。
我們知道,jQuery選擇器和CSS選擇器的寫法十分類似,都具有隱式迭代的特點,無需迴圈遍歷符合選擇器要求的每個元素,使用起來相對方便,通常,把css選擇器用$("")包起來就成了一個jQuery選擇器,如
<!doctype html> <html> <head> <meta charset="utf-8"> <title>選擇器</title> <style type="text/css"> p { font-size: 14px; color:#F00 } p:nth-child(3){color:#690} </style> <script src="jquery/jquery-1.11.3.js"></script> <script> $(document).ready(function() { $("p").css({"color":"#00f","font-size":"16px"}); $("p:nth-child(3)").css({"font-size":"24px"}); }); </script> </head> <body> <p>第一段</p> <p>第二段</p> <p>第三段</p> <p>第四段</p> </body> </html>
那麼兩者的區別在哪裡呢?
1、但兩者的作用不同,CSS選擇器找到元素後為設定該元素的樣式,jQuery選擇器找到元素後新增行為。
2、jQuery選擇器擁有更好的跨瀏覽器的相容性。
3、選擇器的效率。
CSS選擇器的效率
- id選擇器(#myid)
- 類選擇器(.myclassname)
- 標籤選擇器(div,h1,p)
- 相鄰選擇器(h1+p)
- 子選擇器(ul > li)
- 後代選擇器(li a)
- 萬用字元選擇器(*)
- 屬性選擇器(a[rel="external"])
- 偽類選擇器(a:hover,li:nth-child)
上面九種選擇器的效率是從高到低排下來的,基中ID選擇器的效率是最高,而偽類選擇器的效率則是最底。詳細的介紹大家還可以點選Writing efficient CSS selectors。
jQuery選擇器的效率
- id選擇器$('#id')和元素標籤選擇器$('form')
- 類選擇器$('.className')
- 屬性選擇器$('[attribute=value]')和偽類選擇器$(':hidden')