jQuery選擇器詳細介紹:基本選擇器,層次選擇器,屬性選擇器
jQuery選擇器的格式: $("選擇器")
一、基礎選擇器
1、基本選擇器
使用範圍:在jQuery中,基本選擇器是使用最頻繁的選擇器。
|
|
|
|
|
- (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']")