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

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

到底什麼是選擇器?通過常接觸的CSS選擇器和jQuery選擇器理解一下,我們知道CSS是用於分離網頁的結構和表現的,也就是說對於一個網頁,HTML定義網頁的結構,CSS描述網頁的樣子,一個很經典的例子是說HTML就像一個人的骨骼、器官,而CSS就是人的面板,有了這兩樣也就構成了一個植物人了,加上javascript,這個植物人就可以對外界刺激做出反應,可以思考、運動、可以給自己整容化妝(改變CSS)等等,成為一個活生生的人。

我們知道,jQuery選擇器和CSS選擇器的寫法十分類似,都具有隱式迭代的特點,無需迴圈遍歷符合選擇器要求的每個元素,使用起來相對方便,通常,把css選擇器用$("")包起來就成了一個jQuery選擇器,如

CSS選擇器 jQuery選擇器
ID選擇器 #myID $("#myID")
類選擇器 .myClass $(".myClass")
標籤選擇器 p $("p")
層次選擇器 div > strong $("div>strong")
css稱為偽類選擇器
jQuery稱之為過濾選擇器
p:nth-child(3) $("p:nth-child(3)")

見下面的例子,CSS為每個段落的文字設定成14px,顏色是紅色,jQuery中設定文字為16px,顏色為藍色,因為jquery設定的是DOM載入後的行為,所有的段落表現為藍色,16px字

複製程式碼 <!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')
  1. 屬性選擇器$('[attribute=value]')和偽類選擇器$(':hidden')
轉自:http://www.cnblogs.com/dreamingbaobei/p/5057127.html