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')
  3. 屬性選擇器$('[attribute=value]')和偽類選擇器$(':hidden')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM