1. 程式人生 > 其它 >CSS選擇器和jQuery選擇器的區別與聯絡

CSS選擇器和jQuery選擇器的區別與聯絡

到底什麼是選擇器?通過常接觸的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選擇器的效率

  1. id選擇器(#myid)
  2. 類選擇器(.myclassname)
  3. 標籤選擇器(div,h1,p)
  4. 相鄰選擇器(h1+p)
  5. 子選擇器(ul > li)
  6. 後代選擇器(li a)
  7. 萬用字元選擇器(*)
  8. 屬性選擇器(a[rel="external"])
  9. 偽類選擇器(a:hover,li:nth-child)

上面九種選擇器的效率是從高到低排下來的,基中ID選擇器的效率是最高,而偽類選擇器的效率則是最底。詳細的介紹大家還可以點選Writing efficient CSS selectors

jQuery選擇器的效率

  1. id選擇器$('#id')和元素標籤選擇器$('form')
  2. 類選擇器$('.className')
  3. 屬性選擇器$('[attribute=value]')和偽類選擇器$(':hidden')