学习Jquery选择器之后,可以发现与css的选择器几乎相同,可能也就是最新的css选择器还不能在jquery中实现,但那都很少用。
下面是Jquery中常见的选择器:
一、基本选择器
$("div").css("background-color", "red");//表示对所有的div增加背景颜色--红色。
$(".divClass").css("background", "gray");//表示对所有class为'divClass'的元素设置背景色--灰色
二、层次选择器
//下面这两个都是表示紧邻的下一个同辈元素。如果.spanclass代表span,则后面同辈元素也必须是span
$(".spanclass+span").css("color", "blue").css("font-size", 33);
$(".spanclass").next().next().css("color", "blue").css("font-size", 33);
//下面这两个表示所有的后面的同辈元素
$(".spanclass~span").css("color", "blue").css("font-size", 33);
$(".spanclass").nextAll().css("color", "blue").css("font-size", 33);
//下面这个表示与其同辈的无论前后的span,不包括本身
$(".spanclass").siblings("span").css("color", "blue").css("font-size", 33);
三、过滤选择器
包括:基本过滤器、内容过滤器、可见性过滤器、属性过滤器、表单过滤器等
下面附详细代码,代码中有各种过滤器使用方法及详细注释。
1 <!DOCTYPE html>
2 <html lang="en">
3
4 <head>
5 <meta charset="UTF-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <meta http-equiv="X-UA-Compatible" content="ie=edge">
8 <title>Document</title>
9
10 <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
11 <style>
12 div {
13 border: 1px solid blue;
14 width: 200px;
15 height: 250px;
16 }
17
18 table td,
19 table th {
20 border: 1px solid red;
21 }
22 </style>
23
24 </head>
25
26 <body>
27
28 <h1><span>Jquery Selector Test子代</span></h1>
29 <h1>
30 <p>aaaaa<span>wo在span中是子代的子代</span></p>
31 </h1>
32 <div id="div1Id" class="divClass" title="div" style="float:left">我是div1
33 <div style="width:100px;height:100px">我是内部div1</div>
34 <div style="width:100px;height:100px">我是内部div2</div>
35 <div style="width:100px;height:100px">我是内部div3</div>
36 </div>
37 <div class="divClass" style="float:left">
38 <div style="width:100px;height:100px">我是内部div</div>
39 <div style="width:100px;height:100px">我是内部div2</div>
40 <div style="width:100px;height:100px">我是内部div3</div>
41 <span>前面的span</span><span class="spanclass">我是div2</span><span>紧跟的部分哈哈</span><span>孙子部分</span></div>
42 <div title="div" class="divClass" style="float:left"><span>我是div3</span>
43 <div style="width:100px;height:100px">我是内部div</div>
44 <div style="width:100px;height:100px">我是内部div2</div>
45 <div style="width:100px;height:100px">我是内部div3</div>
46 </div>
47 <div style="float:left"><span>我是div4</span></div>
48 <div style="float:right;display:none"><span>我是div5</span></div>
49
50 <table>
51 <tr>
52 <th>aaaaaaa</th>
53 <th>aaaaaaa</th>
54 <th>aaaaaaa</th>
55 <th>aaaaaaa</th>
56 <th>aaaaaaa</th>
57 <th>aaaaaaa</th>
58 <th>aaaaaaa</th>
59 <th>aaaaaaa</th>
60 </tr>
61 <tr>
62 <td>bbbbbbb</td>
63 <td>bbbbbbb</td>
64 <td>bbbbbbb</td>
65 <td>bbbbbbb</td>
66 <td>bbbbbbb</td>
67 <td>bbbbbbb</td>
68 <td>bbbbbbb</td>
69 <td>bbbbbbb</td>
70 </tr>
71 <tr>
72 <td>ccccccc</td>
73 <td>ccccccc</td>
74 <td>ccccccc</td>
75 <td>ccccccc</td>
76 <td>ccccccc</td>
77 <td>ccccccc</td>
78 <td>ccccccc</td>
79 <td>ccccccc</td>
80 </tr>
81 <tr>
82 <td>dddddddd</td>
83 <td>dddddddd</td>
84 <td>dddddddd</td>
85 <td>dddddddd</td>
86 <td>dddddddd</td>
87 <td>dddddddd</td>
88 <td>dddddddd</td>
89 <td>dddddddd</td>
90 </tr>
91 </table>
92 <form>
93
94 <input type="text" value="慢慢显示" hidden="true">
95 </form>
96
97
98 <script>
99 //一、基本选择器的使用
100
101 $(document).ready(function() {
102 //dom加载完就执行的部分
103 // $("div").css("background-color", "red");
104
105 })
106
107 $(function() {
108 //$("div").css("background-color", "yellow");
109 })
110 //Jquery可以无限次的写dom加载完之后执行的方法,不同于window.onload,只能写一次
111 $(function() {
112 // $(".divClass").css("background", "gray");
113 })
114
115
116 //二、层次选择器的使用
117 /* $(function() {
118 $("span,.divClass").css("color", "red").css("font-size", 20);
119 }) */
120 //$("h1 span").css("color", "blue"); //这个是h1下所有的子代,孙子辈也可以
121 //$("h1>span").css("color", "blue"); //这个是h1下第一子代,孙子不可以
122 //下面这两个都是表示紧邻的下一个同辈元素。如果.spanclass代表span,则后面同辈元素也必须是span
123 //$(".spanclass+span").css("color", "blue").css("font-size", 33);
124 // $(".spanclass").next().next().css("color", "blue").css("font-size", 33);
125 //下面这两个表示所有的后面的同辈元素
126 //$(".spanclass~span").css("color", "blue").css("font-size", 33);
127 //$(".spanclass").nextAll("span").css("color", "blue").css("font-size", 33);
128 //下面这个表示与其同辈的无论前后的span,不包括本身
129 //$(".spanclass").siblings("span").css("color", "blue").css("font-size", 33);
130
131
132 //三、过滤选择器的使用,一般都是用:。PS:冒号表示过滤的意思。前面不带空格,表示自身筛选,带空格表示子代筛选
133 $(function() {
134
135 //1,基本过滤器
136 //表示table中隔列变色
137 /* $("table th:even").css("background", "red");
138 $("table th:odd").css("background", "blue"); */
139
140 //表示table中隔行变色。
141 /* $("table tr:even").css("background", "yellow");
142 $("table tr:odd").css("background", "gray"); */
143
144 //多个选择器的同时使用,其实是可以的。可以理解为对一堆对象不停的筛选。这可能也是Jquery有名的链式操作了。
145 //下面表示从>0行开始隔行变色
146 $("table tr:gt(0):even").css("background", "yellow");
147 $("table tr:gt(0):odd").css("background", "gray");
148
149 //2,内容过滤器
150 $("div:contains('div4')").css("background", "red");
151 //3,可见性过滤选择器
152 $("div:hidden").show(3000);
153 $("input:hidden").show(3000);
154
155 //4,属性过滤器'
156 //$("div[title=div]").css("background", "blue");
157 // $("div[title!=div]").css("background", "red"); //div的集合中 title不等于div的div的集合。
158 //$("div[id][title=div]").css("background", "blue"); //多个属性过滤器并列使用,不断缩小结果集的过程而已。
159
160 //ps 补充一个基本过滤器和下面比较。这个表示divclass的div后代的中div的第一个设置为黄色。
161 $("div.divClass div:first").css("background", "yellow"); //这个表示选择出所有符合条件对应的div,选取第一个
162 //5,:first-child'注意事项使用子元素过滤器需要冒号前加空格,才会生效
163 $("div.divClass :first-child").css("background", "yellow"); //表示class=divClass的div集合的每一个div子元素第一个子元素设置为yellow
164 $("div.divClass :nth-child(2)").css("background", "red"); //表示class=divClass的div集合每一个div的子元素中第二个子元素设置为yellow
165 })
166 </script>
167
168 </body>
169
170 </html>
View Code
后续补充表单过滤器详细代码。。。