3、过滤选择器
基本过滤器
:first
获取第一个元素
:last
获取最后个元素
:not(selector)
去除所有与给定选择器匹配的元素
even
匹配所有素引值为偶数的元素,从o开始计数
:odd
匹配所有索引值为奇数的元素,从o开始计数
:eq(index
匹配一个给定素引值的元素
gt(index)
匹配所有大于给定索引值的元素
:t(index)
匹配所有小于给定素引值的元素
:header
匹配如h1,h2,h3之类的标题元素
:animated
匹配所有正在执行动画效果的元素
03基本的过滤选择器_.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title>Untitled Document</title> <style type="text/css"> div, span, p { width: 140px; height: 140px; margin: 5px; background: #aaa; border: #000 1px solid; float: left; font-size: 17px; font-family: Verdana; } div.mini { width: 55px; | height: 55 px; background-color: #aaa; font-size: 12px; } div.hide { display: none; } </style> <script type="text/javascript" src="../script/jquery.js"></script> <script type="text/javascript"> $(document).ready(function () { function anmateit() { $("#mover").slideToggle("show",anmateit); } anmateit(); }); $(document).ready(function () { // $(function () { //的全写 //1.选择第一个div元素 $("#btn1").click(function () { //css() 方法可以设置或获取样式 $("div:first").css("background-color","#bbffaa"); }); //2.选择最后一个div元素 $("#btn2").click(function () { $("div:last").css("background-color","#bbffaa"); }); //3.选择class不为one的所有div元素 $("#btn3").click(function () { $("div:not(.one)").css("background-color","#bbffaa"); }); //4.选择索引值为偶数的所有div元素 $("#btn4").click(function () { $("div:even").css("background-color","#bbffaa"); }); //5.选择索引值为奇数的所有div元素 $("#btn5").click(function () { $("div:odd").css("background-color","#bbffaa"); }); //6.选择索引值为大于3的所有div元素 $("#btn6").click(function () { $("div:gt(3)").css("background-color","#bbffaa"); }); //7.选择索引值为等于3的所有div元素 $("#btn7").click(function () { $("div:eq(3)").css("background-color","#bbffaa"); }); //8.选择索引值为小于3的所有div元素 $("#btn8").click(function () { $("div:lt(3)").css("background-color","#bbffaa"); }); //9.选择所有标题元素 $("#btn9").click(function () { $(":header").css("background-color","#bbffaa"); }); //10.选择当前正在执行动画的所有元素 $("#btn10").click(function () { $(":animated").css("background-color","#bbffaa"); }); //11.选择没有执行动画的最后一个div $("#btn11").click(function () { $("div:not(:animated):last").css("background-color","#bbffaa"); }); }); </script> </head> <body> <!-- <div> :first :last :not(selector) :even :odd :eq(index) :gt(index) :lt(index) :header :animated </div> --> <input type="button" value="选择第一个div元素" id="btn1"/> <input type="button" value="选择最后一个div元素" id="btn2"/> <input type="button" value="选择class不为one的所有div元素" id="btn3"/> <input type="button" value="选择索引值为偶数的所有div元素" id="btn4"/> <input type="button" value="选择索引值为奇数的所有div元素" id="btn5"/> <input type="button" value="选择索引值为大于3的所有div元素" id="btn6"/> <input type="button" value="选择索引值为等于3的所有div元素" id="btn7"/> <input type="button" value="选择索引值为小于3的所有div元素" id="btn8"/> <input type="button" value="选择所有标题元素" id="btn9"/> <input type="button" value="选择当前正在执行动画的所有元素" id="btn10"/> <input type="button" value="选择没有执行动画的最后一个元素" id="btn11"/> <br> <h3>过滤选择器.</h3> <div class="one" id="one"> id为one,class 为one的div <div class="mini">class为mini</div> </div> <div class="one" id="two" title="test"> id为two,class为one,title为test的div <div class="mini" title="other">class为mini,title为other</div> <div class="mini" title="test">class为mini,title为test</div> </div> <div class="one"> <div class="mini">class为mini</div> <div class="mini">class为mini</div> <div class="mini">class为mini</div> <div class="mini"></div> </div> <div class="one"> <div class="mini">class为mini</div> <div class="mini">class为mini</div> <div class="mini">class为mini</div> <div class="mini" title="tesst">class为mini,title为tesst</div> </div> <div class="hide">class为"hide"的div</div> <div class="hide">class为"hide"的div</div> <div> 包含input的type为"hidden"的div <input type="hidden" size="8"> </div> <div id="mover"> 正在执行动画的div元素 </div> </body> </html>
内容过滤器:
:contains(text)
匹配包含给定文本的元素
:empty
匹配所有不包含子元素或者文本的空元素
:parent
匹配含有子元素或者文本的元素
:has(selector)
匹配含有选择器所匹配的元素的元素
04内容过滤选择器_.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title>Untitled Document</title> <style type="text/css"> div, span, p { width: 140px; height: 140px; margin: 5px; background: #aaa; border: #000 1px solid; float: left; font-size: 17px; font-family: Verdana; } div.mini { width: 55px; | height: 55 px; background-color: #aaa; font-size: 12px; } div.hide { display: none; } </style> <script type="text/javascript" src="../script/jquery.js"></script> <script type="text/javascript"> $(document).ready(function () { function anmateit() { $("#mover").slideToggle("show",anmateit); } anmateit(); }); $(document).ready(function () { //1.选择文本含有‘di’的div元素 $("#btn1").click(function () { $("div:contains('di')").css("background-color","#bbffaa"); }); //2.选择不含有子元素(或文本元素)的div元素 $("#btn2").click(function () { $("div:empty").css("background-color","#bbffaa"); }); //3.选择含有class为mini的div元素 $("#btn3").click(function () { $("div:has(.mini)").css("background-color","#bbffaa"); }); //4.选择含有子元素(或文本元素)的div元素 $("#btn4").click(function () { $("div:parent").css("background-color","#bbffaa"); }); }); </script> </head> <body> <!-- <div> :contains(text) :empty :has(selector) :parent </div> --> <input type="button" value="选择文本含有‘di’的div元素" id="btn1"/> <input type="button" value="选择不含有子元素(或文本元素)的div元素" id="btn2"/> <input type="button" value="选择含有class为mini的div元素" id="btn3"/> <input type="button" value="选择含有子元素(或文本元素)的div元素" id="btn4"/> <br> <h3>过滤选择器.</h3> <div class="one" id="one"> id为one,class 为one的div <div class="mini">class为mini</div> </div> <div class="one" id="two" title="test"> id为two,class为one,title为test的div <div class="mini" title="other">class为mini,title为other</div> <div class="mini" title="test">class为mini,title为test</div> </div> <div class="one"> <div class="mini">class为mini</div> <div class="mini">class为mini</div> <div class="mini">class为mini</div> <div class="mini"></div> </div> <div class="one"> <div class="mini">class为mini</div> <div class="mini">class为mini</div> <div class="mini">class为mini</div> <div class="mini" title="tesst">class为mini,title为tesst</div> </div> <div class="hide">class为"hide"的div</div> <div class="hide">class为"hide"的div</div> <div> 包含input的type为"hidden"的div <input type="hidden" size="8"> </div> <div id="mover"> 正在执行动画的div元素 </div> </body> </html>
属性过滤器:
[attribute]
匹配包含给定属性的元素。
[attribute=value]
匹配给定的属性是某个特定值的元素
[attribute!=value]
匹配所有不含有指定的属性,或者属性不等于特定值的元素。
[attribute^=value]
匹配给定的属性是以某些值开始的元素
[attribute$=value]
匹配给定的属性是以某些值结尾的元素
[attribute*=value]
匹配给定的属性是以包含某些值的元素
[attrSel1][attrSel2l][attrSelN]
复合属性选择器,需要同时满足多个条件时使用。
表单过滤器:
表单
:input
匹配所有input,textarea, select和button 元素
:text
匹配所有文本输入框
password
匹配所有的密码输入框
:radio
匹配所有的单选框
:checkbox
匹配所有的复选框
:submit
匹配所有提交按钮
reset
匹配所有重置按钮
:button
匹配所有按钮
:file
匹配所有文件域
:hidden
匹配所有不可见的元素或type为hidden的元素
表单对象的属性
enabled
匹配所有可用元素
disabled
匹配所有不可用元素
checked
匹配所有选中的被选中的元素(复选框、单选框等、不包括select中的opinion)
selected
匹配所有选中的opinion元素
08表单对象属性过滤选择器_.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title>Untitled Document</title> <style type="text/css"> div, span, p { width: 140px; height: 140px; margin: 5px; background: #aaa; border: #000 1px solid; float: left; font-size: 17px; font-family: Verdana; } div.mini { width: 55px; | height: 55 px; background-color: #aaa; font-size: 12px; } div.hide { display: none; } </style> <script type="text/javascript" src="../script/jquery.js"></script> <script type="text/javascript"> $(document).ready(function () { //1.对表单内可用input赋值操作 $("#btn1").click(function () { //var():可以操作表单项的属性值 //它可以设置或获取 $(":text:enabled").val("我是万能的程序员"); }); //2.对表单内不可用input赋值操作 $("#btn2").click(function () { $(":text:disabled").val("管你可用不可用,反正我是万能的程序员"); }); //3.获取多选框选中的个数使用size()方法获取选取到的元案集合的元素个数 $("#btn3").click(function () { alert($(":checkbox:checked").length); }); //4.获取多选框,每个选中的value值 $("#btn4").click(function () { //获取全部选择的复选框标签对象 var $checkboxes=$(":checkbox:checked"); //老式遍历 // for (var i=0;i<$checkboxes.length;i++){ // alert($checkboxes[i].value); // } //each()是JQuery对象提供遍历元素的方法 //在遍历的function中,有一个this对象,这个this对象就是当前遍历到的dom对象 $checkboxes.each(function () { alert(this.value); }); }); //5.获取下拉框选中的内容 $("#btn5").click(function () { //获取选中的option对象 var $options = $("select option:selected"); //遍历获取到的option对象的文本内容 $options.each(function () { alert(this.innerHTML); }) }); }); </script> </head> <body> <!-- <div> 表单 :input :radio :checkbox :password :text :submit :image :reset :button :file :hidden 表单对象的属性 enabled disabled checked selected </div> --> <input type="button" value="对表单内可用input赋值操作" id="btn1"/> <input type="button" value="对表单内不可用input赋值操作" id="btn2"/> <input type="button" value="获取多选框选中的个数使用size" id="btn3"/> <input type="button" value="获取多选框,每个选中的value值" id="btn4"/> <input type="button" value="获取下拉框选中的内容" id="btn5"/> <br/> <h3>表单对象属性过滤选择器</h3> <form id="form1" action="#"> 可用元素:<input nane="add" value="可用文本框1"/><br> 不可用元素:<input name="email" disabled="disabled" value="不可用文本框"/><br> 可用元素:<input name="che" value="可用文本框2"/><br> 不可用元素:<input name="name" disabled="disabled" value="不可用文本框"/><br> <br> 多选框:<br> <input type="checkbox" name="newsletter" checked="checked" value="test1"/>test1 <input type="checkbox" name="newsletter" value="test2"/>test2 <input type="checkbox" name="newsletter" value="test3"/>test3 <input type="checkbox" name="newsletter" checked="checked" value="test4"/>test4 <input type="checkbox" name="newsletter" value="test5"/>test5 <br><br> 下拉列表1:<br> <select name="test" multiple="multiple" style="..." id="sele1"> <option>浙江</option> <option selected="selected">辽宁</option> <option>北京</option> <option selected="selected">天津</option> <option>广州</option> <option>湖北</option> </select> <br><br> 下拉列表2:<br> <select name="test2"> <option>浙江</option> <option>辽宁</option> <option selected="selected">北京</option> <option>天津</option> <option>广州</option> <option>湖北</option> </select> </form> </body> </html>