1. 程式人生 > >jQuery選擇器詳細介紹:基本選擇器,層次選擇器,屬性選擇器

jQuery選擇器詳細介紹:基本選擇器,層次選擇器,屬性選擇器

jQuery選擇器的格式: $("選擇器")                                                                                                                                  

一、基礎選擇器

1、基本選擇器                                                                                                                                                                 

使用範圍:在jQuery中,基本選擇器是使用最頻繁的選擇器。

  • (1)元素選擇器;
  • (2)id選擇器;
  • (3)class選擇器;
  • (4)群組選擇器;
  • (5)*選擇器

  • (1)元素選擇器;
  • 語法:$("元素名")
  • <span style="font-family:Arial;"><span style="color:#1a1a1a;"><pre name="code" class="java"><!DOCTYPE html> 
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="jquery-1.12.0.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function () {
              </span><strong style="background-color: rgb(255, 255, 255);"><span style="color:#1a1a1a;"> </span><span style="color:#ff0000;"> </span>$("div").css("color","red");   $("span").css("color","yello"); </strong><span style="background-color: rgb(255, 255, 255);"><strong>  </strong> //方法是jQuery操作CSS樣式的方法因此使用點運算子來呼叫:$("div").css()</span><span style="color:#1a1a1a;">
            })
        </script>
    </head>
    <body>
        <div>我愛簡簡單單的</div>
        <span>我愛簡簡單單的</span>
    </body>
    </html></span></span>
    在瀏覽器預覽效果如下:
  • 注意:CSS選擇器和jQuery選擇器的轉換關係:只需要把CSS選擇器的寫法套進$("")中,就變成了jQuery選擇器
  • (2)id選擇器;
    • 語法:$("#id名")
    • 說明:id名前面必須加上字首“#”,否則該選擇器無法生效
    <span style="font-family:Arial;font-size:10px;"><span style="color:#1a1a1a;"><!DOCTYPE html>
    <html>
    <head>
        <title>JSON Object Example</title>
        <meta charset="utf-8">
        <script src="jquery-1.12.0.min.js" type="text/javascript"></script>
          <script type="text/javascript">
            $(function () {
                            $("div").css("color","red");
    			$("span").css("color","yello");
    			</span><span style="color:#ff0000;">$("#a").css("color","blue");</span><span style="color:#1a1a1a;">
            })
    	</script>
    
    </head>
    <body>
        <div>我愛簡簡單單的</div>
     </span><span style="color:#ff0000;">   <div id="a">我愛簡簡單單的</div></span><span style="color:#1a1a1a;">
        <span>我愛簡簡單單的</span>
    </body></span></span>
    在瀏覽器預覽效果如下:

  • (3)class選擇器;
  • 語法:$(".類名")
  • 說明:id名前面必須加上字首“.”,否則該選擇器無法生效
  • <span style="font-family:Arial;font-size:10px;"><span style="color:#1a1a1a;"><!DOCTYPE html>
    <html>
    <head>
        <title>JSON Object Example</title>
        <meta charset="utf-8">
        <script src="jquery-1.12.0.min.js" type="text/javascript"></script>
          <script type="text/javascript">
            $(function () {
                $("div").css("color","red");
    			$("span").css("color","yello");
    			$("#a").css("color","blue");
    			</span><span style="color:#ff0000;">$(".b").css("color","green");</span><span style="color:#1a1a1a;">
            })
    	</script></span></span><span style="color: rgb(26, 26, 26); font-family: SimHei; font-size: 15px;">
    </span><span style="font-size:12px;"><span style="color: rgb(26, 26, 26); font-family: SimHei;"></head>
    <body>
        <div>我愛簡簡單單的</div>
        <div id="a">我愛簡簡單單的</div>
        <span>我愛簡簡單單的</span>
        </span><span style="font-family: SimHei;"><span style="color:#ff0000;"><div class="b">我愛簡簡單單的</div></span></span><span style="color: rgb(26, 26, 26); font-family: SimHei;">
    </body>
    </html></span></span>
    在瀏覽器預覽效果如下:



  • (4)群組選擇器;
  • 語法:$("選擇器1,選擇器2,...,選擇器n")
  • 說明:選擇器之間必須用英文逗號“,”隔開,否則該選擇器無法生效
<span style="font-family:Arial;font-size:12px;"><span style="color:#1a1a1a;"><!DOCTYPE html>
<html>
<head>
    <title>JSON Object Example</title>
    <meta charset="utf-8">
    <script src="jquery-1.12.0.min.js" type="text/javascript"></script>
      <script type="text/javascript">
        $(function () {
            </span><span style="color:#ff0000;">$("div,span,#a,.b").css("color","green");</span><span style="color:#1a1a1a;">
        })
	</script>

</head>
<body>
    <div>我愛簡簡單單的</div>
    <div id="a">我愛簡簡單單的</div>
    <span>我愛簡簡單單的</span>
    <div class="b">我愛簡簡單單的</div>
</body>
</html></span></span>
在瀏覽器預覽效果如下:

  • (5)*選擇器
  • 語法:*{padding:0;margin:0;}
  • 說明:*選擇器,也稱為全選選擇器,用於選擇所有的元素。在CSS中,常用*選擇器去除預設的padding和margin的值
<span style="font-family:Arial;"><!DOCTYPE html>
<html>
<head>
    <title>JSON Object Example</title>
    <meta charset="utf-8">
    <script src="jquery-1.12.0.min.js" type="text/javascript"></script>
      <script type="text/javascript">
        $(function () {
           <span style="color:#ff0000;"> $("#c *").css("color","green");</span>
        })
	</script>

</head>
<body>
<span style="color:#ff0000;"><div id="c"></span>
    <div>我愛簡簡單單的</div>
    <div id="a">我愛簡簡單單的</div>
    <span>我愛簡簡單單的</span>
    <div class="b">我愛簡簡單單的</div>
<span style="color:#ff0000;"></div></span>
</body>
</html></span>

在瀏覽器預覽效果如下:


CSS規定了如下優先順序:

行內樣式->id樣式->class樣式->標記樣式

2、層次選擇器                                                                                                                                                                 

  • (1)後代選擇器
  • 語法:$("M N")
  • 說明:選擇M元素內部後代N元素,包括所有後代元素。
  • (2)子代選擇器
    • 語法:$("M>N")
    • 說明:選擇M元素內部某一個子元素,只限子元素。

  • (3)兄弟選擇器
    • 語法:$("M~N")
    • 說明:選擇M元素後面(不包括前面)的(所有的)某一類兄弟元素N。

  • (4)相鄰選擇器
    • 語法:$("M+N")
    • 說明:選擇M元素後面(不包括前面)的(相鄰的)某一類兄弟元素N
    <span style="font-family:Arial;font-size:12px;"><span style="color:#1a1a1a;"><!DOCTYPE html>
    <html>
    <head>
        <title>JSON Object Example</title>
        <meta charset="utf-8">
        <style type="text/css">
    		*{padding:0;margin:0}/*去除所有元素預設的padding和margin*/
            ul{list-style-type:none;}/*去除列表項預設符號*/
    		li{height:30px;}/*去除列表項預設符號*/
    	</style>
        <script src="jquery-1.12.0.min.js" type="text/javascript"></script>
          <script type="text/javascript">
            $(function () {
                </span><span style="color:#ff0000;">$("li*li").css("border-top","3px solid green");</span><span style="color:#1a1a1a;">
            })
    	</script>
    
    </head>
    <body>
    	<ul>
        	<li>我愛簡簡單單的</li>
            <li>我愛簡簡單單的</li>
            <li>我愛簡簡單單的</li>
            <li>我愛簡簡單單的</li>
            <li>我愛簡簡單單的</li>
            <li>我愛簡簡單單的</li>
            <li>我愛簡簡單單的</li>
        </ul>
    </body>
    </html></span></span>
    在瀏覽器預覽效果如下:

分析:

     $("li+li")使用的是相鄰選擇器,表示“選擇li元素相鄰的下一個li元素”。由於最後一個li元素沒有相鄰的下一個li元素,所以對於最後一個li元素,它是沒有下一個li元素可以選取的。$("li+li").css("border-top", "2px solid red")達到在兩兩li元素之間新增一個邊框的效果。這是一個非常棒的技巧,在實際開發中如果我們想要在兩兩元素之間實現什麼效果,我們經常會用到這個技巧!大家請一定不要浪費這個強大的技巧!

3、屬性選擇器                                                                                                                                                                 

使用範圍:在jQuery中,屬性選擇器最常見於表單操作。

選擇器 說明
$("selector[attr]") 選擇包含給定屬性的元素
$("selector[attr='value']") 選擇給定的屬性是某個特定值的元素
$("selector[attr != 'value']") 選擇所有含有指定的屬性,但屬性不等於特定值的元素
$("selector[attr *= 'value']") 選擇給定的屬性是以包含某些值的元素
$("selector[attr ^= 'value']") 選擇給定的屬性是以某些值開始的元素(比較少用)
$("selector[attr $= 'value']") 選擇給定的屬性是以某些值結尾的元素(比較少用)
$("selector[selector1][selector2]…[selectorN]") 複合屬性選擇器,需要同時滿足多個條件時使用

注:selector指的是選擇器,attr指的是屬性(attribute),value指的是屬性值。

<span style="font-family:Arial;font-size:12px;"><!DOCTYPE html>
<html>
<head>
    <title>JSON Object Example</title>
    <meta charset="utf-8">
    <style type="text/css">
		*{padding:0;margin:0}/*去除所有元素預設的padding和margin*/
        ul{list-style-type:none;}/*去除列表項預設符號*/
		li{height:30px;}/*去除列表項預設符號*/
	</style>
    <script src="jquery-1.12.0.min.js" type="text/javascript"></script>
      <script type="text/javascript">
        $(function () {
           <span style="color:#ff0000;"> $("input[type='checkbox']").attr("checked","checked");</span>//<span style="color: rgb(26, 26, 26); font-family: "Microsoft YaHei", Arial, Helvetica, sans-serif; font-size: 15px; line-height: 27px; text-indent: 30px;">表示把所有複選框的checked屬性值設定為checked(即被選中)。</span>
        })
	</script>

</head>
<body>
<br>
	<h3>請選擇以下需要購買的蔬菜</h3><br>
    <div id="list">
    	<input type="checkbox" />黃瓜
        <input type="checkbox" />西紅柿
        <input type="checkbox" />土豆
        <input type="checkbox" />茄子
    </div>
</body>
</html></span>
在瀏覽器預覽效果如下:

拓展:

$("#a")等價於$("[id='a']")

$(".a")等價於$("[class='a']")