1.基本过滤选择器 2.内容过滤选择器 3.可见性选择器 4.属性选择器 5.子元素过滤选择器 6.表单选择器
a. :fitst 选取第一个元素 b. :last选取最后一个元素 c. :not() 选取除指定之外的元素 d. :even 偶数选择器 e. :odd 奇数选择器 f. :eq()选取指定索引的元素 g. :gt()选取大于指定索引的元素 h. :lt()选取小于指定索引的元素 i. :header选取h1,h2,h3,h4,h5,h6标签 j. :animated选取正在执行动画的元素 k. :lang()语言代码选择器,1.9版本新增加,基本用不到 l. :root根元素选择器,1.9版本新增,没什么用 m. :target选择由文档URI格式化识别码表示的目标元素,1.9新增,基本用不到 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>demo1</title> <script src="jquery-1.10.2.min.js"></script> <style> #go{width: 100px;height: 100px;background: teal;position: absolute;left: 0;top: 0;} </style> </head> <body> <p><span>我是</span>第<em>11111</em>个标签</p> <p>我是第22222个标签</p> <p class="a">我是第33333个标签</p> <p>我是第44444个标签</p> <p>我是第55555个标签</p> <h1>我是h1标签</h1> <h2>我是h2标签</h2> <h3>我是h3标签</h3> <h4>我是h4标签</h4> <h5>我是h5标签</h5> <h6>我是h6标签</h6> <div id="go"></div> <script> // $('p :first').css('background','red'); //$('p:last').css('background','red');
// $('p:not(\'.a\')').css('background','red');
// $('p:even').css('background','red'); // $('p:odd').css('background','red');
// $('p:eq(3)').css('background','red');
// $('p:gt(2)').css('background','red'); // $('p:lt(2)').css('background','red'); //$(':header').css('background','red');
$('#go').animate({'left':'1000'},10000); $(':animated').css('background','red'); </script> </body> </html> |
a:contains()选取含有文本内容的元素 b:has()选择指定元素的元素 c:empty选择不包含子元素或者文本空元素 |
d:parent选取含有子元素或者文本的元素 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>demo2</title> <script src="jquery-1.10.2.min.js"></script> <style> p{height: 30px;line-height: 30px;} </style> </head> <body> <p>javascript是一种由Netscape的<strong>LiveScript</strong>发展而来的原型化继</p> <p>遗留的速度问题,为客户提供更流畅的浏览效果</p> <p><a href="###"></a></p> <p></p>
<script> // $('p:contains("LiveScript")').css('background','red'); //$('p:contains("LiveScript")').show().siblings().hide();
//$('p:has("strong")').css('background','red');
//$('p:empty').css('background','red'); $('p:parent').css('background','red'); </script> </body> </html>
a. :hidden选取所有不可见元素 b. :visible选取所有可见元素 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>demo2</title> <script src="jquery-1.10.2.min.js"></script> <style> p{height: 30px;line-height: 30px;} .hide{display: none;/*opacity: 0;visibility: hidden;*/} </style> </head> <body> <p>javascript是一种由Netscape的<strong>LiveScript</strong>发展而来的原型化继</p> <p>遗留的速度问题,为客户提供更流畅的浏览效果</p> <div class="hide">我是不可见的DIV</div> <div>我是可见的div</div>
<script> //alert($('div:hidden').html()); alert($('div:visible').html()); //:hidden选择器的条件 //1.首先肉眼要在网页上看不到的元素 //2.这个元素不占有网页上的位置 </script> </body> </html> |
属性选择器
a. [attr]选择拥有此属性的选择器 $('p[title]').css('background','red'); b. [attr=value]指定属性值的选择器 $('p[title=js]').css('background','red'); c. [attr1][attr2][attr3]复合属性选择器 $('p[title][myattr=my]').css('background','red'); d. 其它属性选择器(可到jQuery API手册上过一遍) |
子元素过滤选择器
a. :first-child 选择父元素第一个子元素
$('div p:first-child').css('background','red');
b. :last-child选择父元素最后一个子元素 c.:only-child选择元素中只包含一个子元素的元素 $('div p:only-child').css('background','red'); d.:nth-child(表达式) 选取父元素中的第X个元素,X由表达式决定 $('div p:nth-child(2)').css('background','red'); $('div p:nth-child(even)').css('background','red'); e.:first-of-type选取所有相同元素的第一个兄弟元素 1.9新增 f.:last-of-tyoe选取所有相同元素的最后一个兄弟元素 1.9新增 g.:nth-last-child(表达式)选择所有他们父元素的第n个子元素。计数从最后一个元素开始到第个,1.9+ h.:only-of-type:nth-of-type(表达式):nth-last-of-type(表达式) |
表单元素选择器
a :input b :text c :password d :radio e :checkbox f :submit g :image h :reset i :button j :file k :hidden l :textarea m:select <script> //alert($(':input').length);
//alert($(':text').length); //$(':text').css('background','red') //$(':password').css('background','red') //alert($(':radio').val()); //alert($(':checkbox').val()); //alert($('input[type=checkbox]').val()); alert($('input:hidden').val()) </script> |
a :enabled 选择所有可用元素 b :disabled选择所有不可用元素 c :checked选择可有选中元素 d :selected选取所有被选中的选项元素 e :focus选择当前获取焦点的元素 1.6添加 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>demo7</title> <script src="jquery-1.10.2.min.js"></script> </head> <body> <input type="text" name="" id="" value="我是不能修改的文本框" disabled="disabled" /> <input type="text" name="" id="" value="我是可以修改的文本框" />
<input type="checkbox" name="" id="" checked="checked" value="aaa" /> <input type="checkbox" name="" id="" value="bbb" /> <input type="checkbox" name="" id="" value="ccc" /> <select name="" id=""> <option value="第一个选项">第一个选项</option> <option value="第二个选项" selected="selected">第二个选项</option> <option value="第三个选项">第三个选项</option> </select> <script> //alert($('input:disabled').val()); //alert($('input:enabled').val()); // //alert($('input[disabled=disabled]').val());
//alert($(':checked').val()); //alert($('input[checked=checked]').val());
/*alert($('select option:selected').val()) alert($(':selected').val()) alert($('select option[selected=selected]').val())*/ </script> </body> </html> |
下集预告 1、和选择DOM有关的方法,比如:next(),parent(),parents(),children(),eq().....etc 2、当选择器中有特殊符号的时候,我们怎么如何处理 3、实例 a.先用原生的javascript写一个tab标签页 b.我们用jquery写一个tab标签页,并利用强大的jquery选择器,使tab标签页实现的代码尽量地少,尽量保持在1~2行代码量之间解决问题 |