0

0

Jquery 选择器全面详解

零下一度

零下一度

发布时间:2017-07-19 16:56:40

|

1392人浏览过

|

来源于php中文网

原创

1   概述

我们已经使用了带有简单Css选择器的jQuery选取函数:$()。现在是时候深入了解jQuery选择器语法,以及一些提取和扩充选中元素集的方法了。

  一、jQuery选择器

在CSS3选择器标淮草案定义的选择器语法中,jQuery支持相当完整的一套子集,同时还添加了一些非标准但很有用的伪类。注意:本节讲述的是 jQuery选择器。其中有不少选择器(但不是全部)可以在CSS样式表中使用。选择器语法有三层结构。你肯定已经见过选择器中最简单的形式。”#te st”选取id属性为”test”的元素。”blockquote”选取文档中的所有

元素,而”div.note” 则选取所有class属性为”note”的
元素。简单选择器可以组合成“组合选择器”,比如 “div.note>p”和“blockquote i”,只要用组合字符做分隔符就行。简单选择器和组合选择器还可以分组成逗号分隔的列表。这种选择器组是传递给$()函数最常见的形式。在解释组合选择器 和选择器组之前,我们必须先了解简单选择器的语法。


2   基本选择器

2.1  一览表

2.2  示例代码

 (1)id选择器

将id为lastname元素的背景色设置为蓝色

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("#lastname").css("background-color", "#0000ff");11            12         });13 14     </script>15 </head>16 <body>17     <div id="lastname">id为lastname的选择器</div>18 </body>19 </html>
View Code

(2)类选择器

将class为intro元素的背景色设置为蓝色

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $(".intro").css("background-color", "#0000ff");11            12         });13 14     </script>15 </head>16 <body>17     <div class="intro">div选择器测试</div>18     <p class="intro">p测试选择器</p>19 </body>20 </html>
View Code

(3)元素选择器

将p元素的背景色设置为蓝色

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("p").css("background-color", "#0000ff");11            12         });13 14     </script>15 </head>16 <body>17      <p>p测试选择器</p>18 </body>19 </html>
View Code

(4)所有选择器

遍历body下的所有元素,将其背景色设置为蓝色

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("body *").css("background-color", "#0000ff");11            12         });13 14     </script>15 </head>16 <body>17     <div>选择器测试</div>18     <p>p元素</p>19 </body>20 </html>
View Code

(5)并列选择器

 将元素p和元素div背景色设置为蓝色

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("p,div").css("background-color", "#0000ff");11            12         });13 14     </script>15 </head>16 <body>17     <div>选择器测试</div>18     <p>p元素</p>19 </body>20 </html>
View Code

3   层次选择器

3.1 一览表

3.2 示例代码

(1)parent>child(直系子元素,即直接下一代元素)

设置div元素的第一代元素为span的元素的背景色为蓝色

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div>span").css("background-color", "#0000ff");11            12         });13 14     </script>15 </head>16 <body>17     <div>18         <span>DOM树,DIV第一代</span>19         <p>20             <span>DOM树,第二代</span>21         </p>22         <span>DOM树,DIV第一代</span>23     </div>24 </body>25 </html>
View Code

测试结果:

结果分析:根据如上代码画出的DOM树如下,可以很清晰看出,DIV有三个直接孩子,即第一代span,p,span,代码中div>span,表示div下的直接第一代span,因此,测试结果就不难理解了。

(2)prev+next(prev元素的下一个兄弟元素,等同于next()方法)

设置类为intro元素的下一个兄弟元素背景色为蓝色

 1  <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $(".intro+div").css("background-color", "#0000ff");11             //$(".intro").next("div").css("background-color", "#0000ff");12            13         });14 15     </script>16 </head>17 <body>18     <div>1</div>19     <p class="intro">2</p>20     <div>3</div>21     <div>4</div>22     <span class="item">5</span>23     <div>6</div>24 </body>25 </html>
View Code

测试结果:

结果分析:根据如上代码画出DOM树如下图,测试结果显而易见。

(3)prev~siblings(prev元素的所有兄弟元素,等同于nextAll()方法)

 设置类为intro元素之后的所有兄弟元素为div元素的背景色为蓝色

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $(".intro~div").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <div>G0</div>17     <div class="intro">G1</div>18     <div>G2</div>19     <span>G3</span>20     <div>G4</div>21 </body>22 </html>
View Code

测试结果:

分析测试结果:根据如上代码画出DOM树如下图,测试结果显而易见。

4   过滤选择器

4.1 基本过滤选择器

4.1.1  一览表

4.1.2  代码示例

(1):first(选取第一个元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("span:first").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <span>G1</span>17     <span>G2</span>18     <span>G3</span>19 </body>20 </html>
View Code

测试结果:

(2):last(选取最后一个元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("span:last").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <span>G1</span>17     <span>G2</span>18     <span>G3</span>19 </body>20 </html>
View Code

测试结果:

(3):not(取非元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div:not(.wrap)").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <div>G1</div>17     <div class="wrap">G2</div>18 </body>19 </html>
View Code

但是,请注意下面的代码:当G1所在div和G2所在div是父子关系时,G1和G2都会变色。

1 <div>2     G1    <div class="wrap">G2</div>3 </div>
View Code

(4):even(索引为偶数,索引 index从0开始)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div:even").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <div>G1</div>17     <div>G2</div>18     <div>G3</div>19     <div>G4</div>20 </body>21 </html>
View Code

测试结果:

(5):odd(索引为奇数,索引 index从0开始)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div:odd").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <div>G1</div>17     <div>G2</div>18     <div>G3</div>19     <div>G4</div>20 </body>21 </html>
View Code

测试结果:

(6):eq(x)(取指定索引的元素,x为从0开始的索引)

设置索引为2的div元素背景为蓝色

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div:eq(2)").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <div>G1</div>17     <div>G2</div>18     <div>G3</div>19     <div>G4</div>20 </body>21 </html>
View Code

测试结果:

(7):lt(x))(取小于指定索引的元素,x为从0开始的索引)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div:lt(2)").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <div>G1</div>17     <div>G2</div>18     <div>G3</div>19     <div>G4</div>20 </body>21 </html>
View Code

测试结果:

(8):gt(x))(取大于指定索引的元素,x为从0开始的索引)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div:gt(2)").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <div>G1</div>17     <div>G2</div>18     <div>G3</div>19     <div>G4</div>20 </body>21 </html>
View Code

测试结果:

(8):header(取h1-h6标题元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $(":header").css("background-color", "#0000ff");11         });12 13     </script>14 </head>15 <body>16     <h1>测试H1标题</h1>17     <div>G1</div>18     <div>G2</div>19     <div>G3</div>20     <h2>测试h2标题</h2>21     <h3>测试h3标题</h3>22     <h4>测试h4标题</h4>23     <div>G4</div>24     <h5>测试h5标题</h5>25     <h6>测试h6标题</h6>26 </body>27 </html>
View Code

测试结果:

(9):animated(所有动画元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10             function aniDiv() {11                 $("#box").animate({ width: 300 }, "slow");12                 $("#box").animate({ width: 100 }, "slow", aniDiv);13             }14             aniDiv();15             $(".btn1").click(function () {16                 $(":animated").css("background-color", "#0000ff");17             });18         });19 20     </script>21     <style>22         div {23                 background: #98bf21;24                 height: 40px;25                 width: 100px;26                 position: relative;27                 margin-bottom: 5px;28              }29     </style>30 </head>31 <body>32     <div></div>33     <div id="box"></div>34     <div></div>35     <button class="btn1">Mark animated element</button>36 </body>37 </html>
View Code

测试结果:

 

4.2 内容过滤选择器

4.2.1 一览表

4.2.2 示例代码

(1):contains(text)(取包含text文本的元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('div:contains("G2")').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div>G1</div>18     <div>G2</div>19     <div>G3</div>20 </body>21 </html>
View Code

测试结果:

界面简洁的jQuery日期时间选择器
界面简洁的jQuery日期时间选择器

界面简洁的jQuery日期时间选择器

下载

(2):empty(取不包含子元素或文本为空的元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('div:empty').html('没有内容');11          });12 13     </script>14     15 </head>16 <body>17     <div>G1</div>18     <div>G2</div>19     <div>G3</div>20     <div></div>21 </body>22 </html>
View Code

测试结果:

(3) :has(selector)(取选择器匹配的元素)

即使span不是div的直系子元素,也会生效

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             // 为包含span元素的div添加边框11             $('div:has(span)').css('border', '1px solid #000');12         });13 14     </script>15     16 </head>17 <body>18     <div>19         <h2>20             A     <span>B</span>21         </h2>22     </div>23 </body>24 </html>
View Code

测试结果:

(4):parent(取包含子元素或文本的元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $('ol li:parent').css('border', '1px solid #000');11         });12 13     </script>14     15 </head>16 <body>17     <ol>18         <li></li>19         <li>A</li>20         <li></li>21         <li>D</li>22     </ol>23 </body>24 </html>
View Code

测试结果:

4.3 可见性过滤选择器

4.3.1 一览表

4.3.2 示例代码

(1):hidden(取不可见的元素)

匹配display:none,,visibility:hidden,capacity:0元素

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $('div:hidden').show(500);11             alert($('input:hidden').val());12         });13     </script>14     <style type="text/css">15             div         
16             {17                 margin: 10px;18                 width: 200px;19                 height: 40px;20                 border: 1px solid #FF0000;21                 display:block;22              }23 24             .hid-1         
25             {26                 display: none;27              }28 29             .hid-2         
30             {31                 visibility: hidden;32             }33         34     </style>35 </head>36 <body>37     <div class="hid-1">display: none</div>38     <div class="hid-2">visibility: hidden</div>39     <input type="hidden" value="hello" />40 </body>41 </html>
View Code

测试结果:

(2):visible(取可见的元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('div:visible').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div   style="max-width:90%">G1</div>18     <div>G2</div>19     <div style="display:none">G3</div>20     <div>G4</div>21 22 </body>23 </html>24 25 26
View Code

测试结果:

4.4 属性过滤选择器

4.4.1 一览表

4.4.2 代码示例

(1)[attribute](取拥有attribute属性的元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('div[class]').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div>G1</div>18     <div>G2</div>19     <div>G3</div>20     <div class="div4">G4</div>21 22 </body>23 </html>24 25 26
View Code

测试结果:

(2)[attribute = value](取attribute属性值等于value)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('div[class=div3]').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div>G1</div>18     <div>G2</div>19     <div class="div3">G3</div>20     <div class="div4">G4</div>21 22 </body>23 </html>24 25 26
View Code

测试结果:

(3) [attribute != value](取attribute属性值不等于value的元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('div[class!=div3]').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div>G1</div>18     <div>G2</div>19     <div class="div3">G3</div>20     <div class="div4">G4</div>21 22 </body>23 </html>24 25 26
View Code

测试结果:

(4)[attribute $= value](attribute属性值以value结束)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('[id$=div]').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div id="first_div">G1</div>18     <div id="second_div">G2</div>19     <div class="div3" title="3div">G3</div>20     <div class="div4">G4</div>21 22 </body>23 </html>
View Code

测试结果:

(5))[attribute^= value](attribute属性值以value开始)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('[id^=first]').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div id="first_div">G1</div>18     <div id="second_div">G2</div>19     <div class="div3" title="3div">G3</div>20     <div class="div4">G4</div>21 22 </body>23 </html>24 25 26
View Code

测试结果:

(6)[attribute *= value](attribute属性值包含value值)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('[id*=first]').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div id="first_div">G1</div>18     <div id="second_div">G2</div>19     <div class="div3" title="3div">G3</div>20     <div class="div4">G4</div>21 22 </body>23 </html>
View Code

测试结果:

注释:在属性选择器中,^$符号和正则表达式的开始结束符号表示的含义是一致的,*模糊匹配,类似于sql中的like '%str%'。

(7)[selector1][selector2](复合型属性过滤器,同时满足多个条件)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9          $(document).ready(function () {10              $('div[class=div3][title=3div]').css("background-color", "#0000ff");11          });12 13     </script>14     15 </head>16 <body>17     <div>G1</div>18     <div>G2</div>19     <div class="div3" title="3div">G3</div>20     <div class="div4">G4</div>21 22 </body>23 </html>24 25 26
View Code

测试结果:

4.5 子元素过滤选择器

4.5.1 一览表

4.5.2 代码示例

(1)first-child(表示匹配的第一个元素)和last-child(表示匹配的最后一个子元素)

 需要大家注意的是,:fisrst和:last返回的都是单个元素,而:first-child和:last-child返回的都是集合元素。举个 例子:div:first返回的是整个DOM文档中第一个div元素,而div:first-child是返回所有div元素下的第一个元素合并后的集 合。

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div:first-child").css("background-color", "#B2E0FF");11             $("div:last-child").css("background-color", "red");12         });13     </script>14 </head>15 <body>16      <div>17          <div>1</div>18          <div>2</div>19          <p>3</p>20      </div>21     <div>4</div>22     <div>last</div>23 </body>24 </html>
View Code

测试结果:

(3)only-child(当某个元素有且仅有一个子元素时,:only-child才会生效)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $("div:only-child").css("background-color", "red");11          });12     </script>13 </head>14 <body>15      <div>16          <div>1</div>17          <div>2</div>18          <p>3</p>19      </div>20     <div>4</div>21     <div>last22     <div>ddd</div>23     </div>24 </body>25 </html>
View Code

测试结果:

(4)nth-child

看到这个就想起英文单词里的,fourth, fifth, sixth……,nth表示第n个,:nth-child就表示第n个child元素。要注意的是,这儿的n不像eq(x)、gt(x)或lt(x)是从 0开始的,它是从1开始的,英文里好像也没有zeroth这样的序号词吧。

:nth-child有三种用法:

1) :nth-child(x),获取第x个子元素
2) :nth-child(even)和:nth-child(odd),从1开始,获取第偶数个元素或第奇数个元素
3) :nth-child(xn+y),x>=0,y>=0。例如x = 3, y = 0时就是3n,表示取第3n个元素(n>=0)。实际上xn+y是上面两种的通项式。(当x=0,y>=0时,等同于:hth- child(x);当x=2,y=0时,等同于nth-child(even);当x=2,y=1时,等同于:nth-child(odd))

4.6 表单对象属性过滤选择器

4.6.1 一览表

4.6.2 代码示例

(1):enabled和:disabled(取可用或不可用元素)

:enabled和:diabled的匹配范围包括input, select, textarea

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $(':enabled').css('border', '1px solid #FF0000');11             $(':disabled').css('border', '1px solid #0000FF');12         });13 14     </script>15     16 </head>17 <body>18     <div>19         <input type="text" value="可用的文本框" />20     </div>21     <div>22         <input type="text" disabled="disabled" value="不可用的文本框" />23     </div>24     <div>25         <textarea disabled="disabled">不可用的文本域</textarea>26     </div>27     <div>28         <select disabled="disabled">29             <option>English</option>30             <option>简体中文</option>31         </select>32     </div>33 </body>34 </html>
View Code

测试结果:

(2):checked(取选中的单选框或复选框元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $(".btn1").click(function () {11                 $(":checked").hide();12             });13         });14     </script>15     16 </head>17 <body>18     <input type="radio" name="sex" value="male" checked="checked" /> Male19     <br />20     <input type="radio" name="sex" value="female" /> Female21     <br />22     I have a bike:23     <input type="checkbox" name="vehicle" value="Bike" />24     <br />25     I have a car:26     <input type="checkbox" name="vehicle" value="Car" checked="checked" />27     <br />28     I have an airplane:29     <input type="checkbox" name="vehicle" value="Airplane" />30     <button class="btn1">Hide Checked Options</button>31 32 </body>33 </html>
View Code

(3):selected(取下拉列表被选中的元素)

 1 <html> 2 <head> 3 <script type="text/javascript" src="/jquery/jquery.js"></script> 4 <script type="text/javascript"> 5 $(document).ready(function(){ 6   $(".btn1").click(function(){ 7     $(":selected").hide(); 8   }); 9 });10 </script>11 </head>12 <body>13 14 <select multiple="multiple">15   <option>Volvo</option>16   <option selected="selected">Saab</option>17   <option>Mercedes</option>18   <option>Audi</option>19 </select>20 <br />21 <button class="btn1">Hide Selected</button>22 </body>23 </html>
View Code

5   表单选择器

5.1 一览表

5.2 测试代码

(1):input()(选择所有input元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $(":input").css("background-color", "#B2E0FF");11         });12     </script>13 </head>14 <body>15     <form action="">16         Name: <input type="text" name="user" />17         <br />18         Password: <input type="password" name="password" />19         <br />20         <button type="button">Useless Button</button>21         <input type="button" value="Another useless button" />22         <br />23         <input type="reset" value="Reset" />24         <input type="submit" value="Submit" />25         <br />26     </form>27 </body>28 </html>
View Code

测试结果:

(2):text(选取所有text元素)

 1 <!DOCTYPE html> 2  3 <html> 4 <head> 5     <meta name="viewport" content="width=device-width" /> 6     <script src="~/Scripts/jquery-1.10.2.js"></script> 7     <title>JQuery函数</title> 8     <script type="text/javascript"> 9         $(document).ready(function () {10             $(":text").css("background-color", "#B2E0FF");11         });12     </script>13 </head>14 <body>15     <form action="">16         Name: <input type="text" name="user" />17         <br />18         Password: <input type="password" name="password" />19         <br />20         <button type="button">Useless Button</button>21         <input type="button" value="Another useless button" />22         <br />23         <input type="reset" value="Reset" />24         <input type="submit" value="Submit" />25         <br />26     </form>27 </body>28 </html>
View Code

测试结果:

(3):select和:button

(4)其他表单元素比较简单,在此不列举。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

797

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

272

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

144

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

25

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

92

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

53

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

717

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

64

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
jQuery 教程
jQuery 教程

共42课时 | 6.4万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 11.4万人学习

tp6+adminlte搭建通用后台
tp6+adminlte搭建通用后台

共39课时 | 5.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号