zoukankan      html  css  js  c++  java
  • jQuery9种选择器

    jQuery 9种选择器

    1、基本选择器-5个

      

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4     <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5   </head>
     6   <body>
     7       <div id="div1ID">div1</div>
     8       <div id="div2ID">div2</div>
     9       <span class="myClass">span1</span>
    10       <span class="myClass">span2</span>
    11       <span class="myClass">span3</span>
    12       <p>p</p>
    13       <script type="text/javascript">
    14       
    15           //1)查找ID为"div1ID"的元素--a)#id
    16             //var $div = $("#div1ID");//一定要注意要加#号
    17             //alert($div[0].nodeName);
    18           alert($("#div1ID").html());
    19           
    20           //2)查找DIV元素的个数[size()方法和length属性]--b)element
    21           //alert($("div").size());
    22           //alert($("div").length);
    23           
    24           //3)查找所有样式是"myClass"的元素的个数--c).class
    25           //alert($(".myClass").size());
    26           
    27           //4)查找所有DIV,SPAN,P元素的个数--d)selector1,selector2,selectorN
    28           //alert($("div,span,p").length);
    29           
    30           //5)查找所有ID为div1ID,CLASS为myClass,P元素的个数
    31           //alert($("#div1ID,.myClass,p").size());
    32           
    33       </script>
    34   </body>
    35 </html>

    2、层级选择器-4个

      

    form input:  查询form下所有input元素,含有后代关系,即包括儿子和孙子及后代
    form>input:查询form下所有input元素,只有父子关系,没有后代关系
    form+input:查询与form同级的第一个input元素,是兄弟关系
    form~input:查询与form同级的所有input元素,是兄弟关系

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4     <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5   </head>
     6   <body>
     7     <form>
     8         <input type="text" value="a"/>        
     9         <table>
    10             <tr>
    11                 <td>
    12                     <input type="checkbox" value="b"/>
    13                 </td>
    14             </tr>            
    15         </table>
    16         <input type="text" value="a1"/>
    17     </form>
    18     <input type="radio" value="c"/>
    19     <input type="radio" value="d"/>
    20     <input type="radio" value="e"/>
    21     <script type="text/javascript">
    22         //1)找到表单form下所有的input元素的个数--空格:代表后代,包括儿子,孙子及后代
    23         //alert($("form input").size());
    24         
    25           //2)找到表单form下所有的直接儿子input元素个数-->:代表直接儿子,不包括孙子及后代
    26           //alert($("form>input").size());
    27           
    28           //3)找到表单form同级第一个input元素的value属性值--+:代表同级第一个元素
    29           //alert($("form+input").val());    
    30           
    31           //4)找到所有与表单form同级的input元素个数--~:代表同级所有的元素
    32           //alert($("form~input").size());
    33     </script>
    34   </body>
    35 </html>

     

    3、增强型基本选择器--

      

    :first:查询第一个元素
    :last:查询最后个元素
    :checked:查询选中的复选框
    :not(:checked):查询未选中的复选框
    :even:查找表格的1、3、5...行(即索引值0、2、4...)--查找的是索引值为偶数(html页面中所有表格,第一个算起,以此类推)
    :odd: 查找表格的0、2、4...行(即索引值1、3、5...)--查找的是索引值为奇数
    :eq():索引从0开始 equals
    :gt():大于索引号 greater than
    :lt():小于索引号 less than
    :header:查询所有<h1/2/3/4/5/6>标签
    .css("key","value")为查询到的所有标签添加CSS样式

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4     <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5   </head>
     6   <body>
     7     <ul>
     8         <table><tr><td><li>list item 0</li></td></tr></table>
     9         <li>list item 1</li>
    10         <li>list item 2</li>
    11         <li>list item 3</li>
    12         <li>list item 4</li>
    13         <li>list item 5</li>
    14         <table><tr><td><li>list item 6</li></td></tr></table>
    15         <!--<table><tr><td><li>list item 7</li></td></tr></table>
    16         <table><tr><td><li>list item 8</li></td></tr></table>!-->
    17     </ul>
    18     <input type="checkbox" checked/>
    19     <input type="checkbox" checked/>
    20     <input type="checkbox"/>
    21     <table border="1">
    22         <tr><td>line1</td></tr>
    23         <tr><td>line2</td></tr>
    24         <tr><td>line3</td></tr>
    25     </table>    
    26     <h1>h1</h1>
    27     <h2>h2</h2>
    28     <h3>h3</h3>
    29     <p>p</p>
    30     <script type="text/javascript">
    31         //1)查找UL中第一个元素的内容
    32         //alert($("ul li:first").html());//list item 0
    33         //alert($("ul>li:first").html());//list item 1
    34         
    35           //2)查找UL中最后个元素的内容
    36           //alert($("ul li:last").html());//list item 6
    37           //alert($("ul>li:last").html());//list item 5
    38         
    39           //3)查找所有未选中的input元素个数
    40           //alert($("input:not(:checked)").size());
    41           
    42           //4)查找表格的1、3、5...奇数行个数[从0开始计数]
    43           //alert($("table tr:even").size());
    44           
    45           //5)查找表格的2、4、6...偶数行个数[从0开始计数]
    46           //alert($("table tr:odd").size());
    47           
    48           //6)查找表格中第二行的内容,从索引号0开始
    49           //alert($("table tr:eq(1)").html());
    50           
    51           //7)查找表格中第二第三行的个数,即索引值是1和2,也就是比0大
    52           //alert($("table tr:gt(0)").size());
    53           
    54           //8)查找表格中第一第二行的个数,即索引值是0和1,也就是比2小
    55           //alert($("table tr:lt(2)").size());
    56           
    57           //9)给页面内所有标题<h1><h2><h3>加上红色背景色
    58           //$(":header").css("background","#ff0000;");
    59     </script>
    60   </body>
    61 </html>

    4、内容选择器-4个

      

    :contains('john'):表示包含指定字符串的标签,字符串大小写敏感
    :empty:表示查询空标签的元素
    :has('p'):表示查询有子元素的元素
      .addClass("样式名"):为查询到的所有标签添加样式
    :parent:表示查询非空标签

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4      <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5     <style type="text/css">
     6         .myClass{
     7             font-size:44px;
     8             color:blue
     9         }
    10     </style>
    11   </head>
    12   <body>
    13       <p>hha</p>
    14     <div><p>John Resig hacket</p></div>
    15     <div><p>George Martin</p></div>
    16     <div>Malcom John Sinclair hacket</div>
    17     <div>J. Ohn</div>
    18     <p></p>
    19     <p></p>
    20     <div></div>
    21     <script type="text/javascript">
    22     
    23         //1)查找所有包含文本"John"的div元素的个数
    24         //alert($("div:contains('hacket')").size());
    25         
    26           //2)查找所有p元素为空的元素个数
    27           //alert($("p:empty").size());
    28           
    29           //3)给所有包含p元素的div元素添加一个myClass样式
    30           //$("div:has('p')").addClass("myClass");
    31           
    32           //4)查找所有含有子元素或者文本的p元素个数,即p为父元素
    33           alert($("p:parent").size());
    34           
    35     </script>
    36   </body>
    37 </html>

    5、可见性选择器-2个

      

    :hidden:表示查询所有隐蔽的标签
    :visible:表示查询所有显示的标签
      或:not(:hidden)

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4      <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5   </head>
     6   <body>
     7     <table border="1" align="center">
     8       <tr style="display:none">
     9           <td>Value 1</td>
    10       </tr>
    11       <tr>
    12           <td>Value 2</td>
    13       </tr>
    14       <tr>
    15           <td>Value 3</td>
    16       </tr>
    17     </table>
    18     <script type="text/javascript">
    19         //1)查找隐藏的tr元素的个数
    20         //alert($("table tr:hidden").size());
    21         //alert($("tr:hidden").size());
    22             
    23          //2)查找所有可见的tr元素的个数
    24          //alert($("table tr:visible").size());
    25          alert($("table tr:not(:hidden)").size());
    26     </script>
    27   </body>
    28 </html>

    6、属性选择器

      

    div[id]:表示查询含有id属性的div元素
    input[name='newsletter']:表示查询含有name属性,且其值是"newsletter"的input元素
    input[name!='newsletter:表示查询含有name属性,且其值不是"newsletter"的input元素
    input[name^='newsletter:表示查询含有name属性,且其值以"news"开头的input元素
    input[name$='letter':表示查询含有name属性,且其值以"letter"结尾的input元素
    input[name*='news']::表示查询含有name属性,且其包含"news"的input元素

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4      <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5   </head>
     6   <body>
     7     <div>
     8          <p>Hello!</p>
     9     </div>
    10     <div id="test2"></div>
    11     <input type="checkbox" name="newsletter" value="Hot Fuzz" />
    12     <input type="checkbox" name="newsletter" value="Cold Fusion" id="myID" />
    13     <input type="checkbox" name="newsaccept" value="Evil Plans" />
    14     <script type="text/javascript">
    15         //1)查找所有含有id属性的div元素个数
    16         //alert($("div[id]").size());
    17         
    18           //2)查找所有name属性是newsletter的input元素,并将其选中
    19           //alert($("input[name='newsletter']").size());
    20           
    21           //3)查找所有name属性不是newsletter的input元素,并将其选中
    22           //alert($("input[name!='newsletter']").size());
    23           //$("input[name!='newsletter']").attr("checked","checked");
    24         
    25           //4)查找所有name以'news'开始的input元素,并将其选中
    26           //$("input[name^='news']").attr("checked","checked");
    27           
    28           //5)查找所有name 以'letter'结尾的input元素,并将其选中
    29           //$("input[name$='letter']").attr("checked","checked");
    30           
    31           //6)查找所有name包含'news'的input元素,并将其选中
    32           //$("input[name*='news']").attr("checked","checked");
    33           
    34           //7)找到所有含有id属性,并且它的name属性是以"letter"结尾的input元素,并将其选中
    35           //$("input[id][name$='letter']").attr("checked","checked");
    36     </script>
    37   </body>
    38 </html>

    7、子元素选择器

      

    :first-child:表示查询第一个子元素
    :last-child:表示查询最后一个子元素
    :only-child:表示查询只有一个子元素的元素
    :nth-child(编号从1开始),表示查询指定编号的元素

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4     <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5   </head>
     6   <body>
     7     <ul>
     8       <li>John</li>
     9       <li>Karl</li>
    10       <li>Brandon</li>
    11     </ul>
    12     <ul>
    13       <li>Glen</li>
    14       <li>Tane</li>
    15       <li>Ralph</li>
    16     </ul>
    17     <ul>
    18       <li>Jack</li>
    19     </ul>
    20     <script type="text/javascript">
    21         //1)迭代每个ul中第1个li元素中的内容,索引从1开始
    22         /*$("ul li:first-child").each(function(){//$("ul li:first")如果是这个,只找到第一个ul的li的内容
    23             alert($(this).html());
    24         });*/    
    25 
    26         //2)迭代每个ul中最后1个li元素中的内容,索引从1开始
    27         /*$("ul li:last-child").each(function(){
    28             alert($(this).html());
    29         });*/                
    30             
    31         //3)在ul中查找是唯一子元素的li元素的内容
    32         /*$("ul li:only-child").each(function(){
    33             alert($(this).html());
    34         });*/
    35                 
    36         //4)迭代每个ul中第2个li元素中的内容,索引从1开始
    37         /*$("ul li:nth-child(2)").each(function(){
    38             alert($(this).html());
    39         });*/        
    40     </script>
    41   </body>
    42 </html>

     

    8、表单选择器

      

    :input:查找所有input元素的个数,注:包含所有input,textarea,select和button元素
    :text
    :password
    :radio
    :checkbox
    :file
    :submit
    :reset
    :image
    :file

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4     <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5   </head>
     6   <body>
     7     <form>
     8         <input type="button" value="Input Button"/><br/>
     9         <input type="checkbox" /><br/>
    10         <input type="file" /><br/>
    11         <input type="hidden" /><br/>
    12         <input type="image" /><br/>
    13         <input type="password" /><br/>
    14         <input type="radio" /><br/>
    15         <input type="radio" /><br/>
    16         <input type="reset" /><br/>
    17         <input type="submit" /><br/>
    18         <input type="text" /><br/>
    19         <select><option>Option</option></select><br/>
    20         <textarea></textarea><br/>
    21         <button>Button</button><br/>
    22     </form>
    23     <script type="text/javascript">
    24         
    25         //1)查找所有input元素的个数,
    26           //alert($("input").size());//10
    27           //alert($(":input").size());//14 注:包含所有input,textarea,select和button元素
    28           
    29           //2)查找所有文本框的个数
    30           //alert($(":text").size());    
    31           
    32           //3)查找所有密码框的个数
    33           //alert($(":password").size());
    34           
    35           //4)查找所有单选按钮的个数
    36           //alert($(":radio").size());
    37           
    38           //5)查找所有复选框的个数
    39           //alert($(":checkbox").size());
    40           
    41           //6)查找所有提交按钮的个数,非IE可能将<button>当作一个提交按钮
    42           //alert($(":submit").size());//2
    43           //alert($(":submit").val());
    44         
    45           //7)匹配所有图像域的个数
    46           //alert($(":image").size());
    47           
    48           //8)查找所有重置按钮的个数
    49           //alert($(":reset").size());
    50           
    51           //9)查找所有普通按钮的个数
    52           //alert($(":button").size());
    53           
    54          //10)查找所有文件域的个数
    55          //alert($(":file").size());
    56          
    57          //11)查找所有input元素为隐藏域的个数
    58          //alert($(":input:hidden").size());
    59     </script>
    60   </body>
    61 </html>

    9、表单对象属性

      

    :enabled:表示查询可用的元素
    :disabled:表示查询不可用的元素
    :checked:表示查询选中的复选/单选框的元素
    :selected:表示查询选中的下拉框元素

     1 <html>
     2   <head>
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     4     <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
     5   </head>
     6   <body>
     7     <form>
     8       <input name="email" disabled="disabled" />
     9       <input name="password" disabled="disabled" />
    10       <input name="id" />
    11       <input type="checkbox" name="newsletter" checked="checked" value="Daily" />
    12       <input type="checkbox" name="newsletter" value="Weekly" />
    13       <input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
    14       <select>
    15           <option value="1">Flowers</option>
    16           <option value="2" selected="selected">Gardens</option>
    17           <option value="3">Trees</option>
    18       </select>
    19     </form>
    20     <script type="text/javascript">
    21         //1)查找所有可用的input元素的个数
    22         //alert($(":input:enabled").size());5//:input <select>也算作一个input
    23         //alert($("input:enabled").size());4
    24         
    25          //2)查找所有不可用的input元素的个数
    26          //alert($(":input:disabled").size());    
    27          
    28          //3)查找所有选中的复选框元素的个数
    29          //alert($(":checkbox:checked").size());
    30          
    31          //4)查找所有未选中的复选框元素的个数
    32          //alert($(":checkbox:not(:checked)").size());
    33          
    34          //5)查找所有选中的选项元素的个数
    35         //alert($("select option:selected").size());
    36     </script>
    37   </body>
    38 </html>
  • 相关阅读:
    【NOIP2007】守望者的逃离
    20200321(ABC)题解 by 马鸿儒 孙晨曦
    20200320(ABC)题解 by 王一帆
    20200319(ABC)题解 by 王一帆 梁延杰 丁智辰
    20200314(ABC)题解 by 董国梁 蒋丽君 章思航
    20200309(ABC)题解 by 梁延杰
    20200307(DEF)题解 by 孙晨曦
    20200306(ABC)题解 by 孙晨曦
    20200305(DEF)题解 by 孙晨曦
    20200303(ABC)题解 by 王锐,董国梁
  • 原文地址:https://www.cnblogs.com/hacket/p/3069723.html
Copyright © 2011-2022 走看看