zoukankan      html  css  js  c++  java
  • JQuery(选择器)

    1:选择器一般前面是$(something),$()内部会自动使用loop寻找参数指定的元素

    Selector type     CSS         jQuery                 What it does
    
      Tag name       p{}          $('p')           selects all 'p' in the document
    
       ID       #some-id {}     $('#some-id')         selects the single element in the document that has as ID of some-id
    
       Class     .some-class {}  $('.some-class')        selects all elements in the document that have a class of some-class

    2:CSS selectors:

    $('#some-ID')
    
    $('.some-Class')
    
    $('selected-plays > li').addClass('horizontal')
    
    $('#selected-plays li:not(.horizontal)').addClass('sub-level')

    3:Attribute selector:

    $('img[alt]') 
    
    $('a[href^="mailto"]').addClass('mailto')
    
    $('a[href$=".pdf"]').addClass('pdflink')
    
    $('a[href^="http"] [href*="henry"]')

    4:Custom selector: high draw call

    • eq, nthchild, first-chile, contains
    $('div.horizontal:eq(1)') 
    
    //这个是JS选择器,所以select the second item from a set of <div> elements with class of horizontal 
    //JS selector is zero-based, CSS selector is one-based
    $('div:nth-child(1)')
    //这个是css选择器,所以Select all div selectors that are the first child of their parent
    $('div:first-child')
    //可以用JS选择器代替
    $('td:contains(Henry)').addClass('highlight');
    //contains() selector 是case sensitive
    • odd & even:
    View Code
     <h2>Shakespeare's Plays</h2>
                <table>
                    <tr>
                        <td>As You Like It</td>
                        <td>Comedy</td>
                        <td> </td>
                    </tr>
                    <tr>
                        <td>All's Well that Ends Well</td>
                        <td>Comedy</td>
                        <td>1601</td>
                    </tr>
                    <tr>
                        <td>Hamlet</td>
                        <td>Tragedy</td>
                        <td>1604</td>
                    </tr>
                    <tr>
                        <td>Macbeth</td>
                        <td>Tragedy</td>
                        <td>1606</td>
                    </tr>
                    <tr>
                        <td>Romeo and Juliet</td>
                        <td>Tragedy</td>
                        <td>1595</td>
                    </tr>
                    <tr>
                        <td>Henry IV, Part I</td>
                        <td>History</td>
                        <td>1596</td>
                    </tr>
                    <tr>
                        <td>Henry V</td>
                        <td>History</td>
                        <td>1599</td>
                    </tr>
                </table>
                <h2>Shakespeare's Sonnets</h2>
                <table>
                    <tr>
                        <td>The Fair Youth</td>
                        <td>1–126</td>
                    </tr>
                    <tr>
                        <td>The Dark Lady</td>
                        <td>127–152</td>
                    </tr>
                    <tr>
                        <td>The Rival Poet</td>
                        <td>78–86</td>
                    </tr>
                </table>
    $('tr:even').addClass('alt');

     

    $('tr:even')一般用于table,按基偶格来选择,注意JS是zero-base的,所以选择器写even(偶数),实际上选择了table的基数行,因为第一行在JS中是0,第二行实际是1。

    发现上面的tr选择在第二段(Shakespeare)不对,所有的行都按照一个顺序下来,这里用tr:nth-child(odd)来代替,记得nth-child是CSS选择器,这里要换成odd

     6:Form selector:

    当对form进行选择的时候JQuery提供给我们更直接的选择器

    Selector      Match

    :input      Input, textarea, select

    :button     Button elements and input elements with type attribute equal to button

    :enabled    Form elemnts that are enabled

    :disabled    Form elemnts that are disabled

    :checked    Radio buttons or checkboxed that are checked

    :selected    Option elements that are selected

    $('input[type="radio"] : checked')
    //select all checked radio buttons but not checkboxes
    $('input[type="password"], input[type="text"] : disabled')
    //select all password input and disabled text input

      7:DOM traversal methords:

    • .filter()
    $('tr').filter(':even').addClass('alt');
    
    $('a').filter(function(){
      return this.hostname && this.hostname != location.hostname;
    }).addClass('external');
    //filter the a tag
    //must have href attribute with a domain name(this.hostname)
    //the domain name that they link to must not match the domian name of the current page(location.hostname)
    • .next(), .nextAll(), .prev(), .prevAll()
    $('td:contains(Henry)').next().next().addClass('highlight');//后面的后面

    $('td:contains(Henry)').nextAll().addClass('highlight');  //全部Herny后面的cell
    $('td:contains(Henry)').next().addClass('highlight');//only very next sibling

    • .siblings()

    select all other elments at same DOM level, regardless of whether they come before or after the previously elected element

    选中同一排cell的方法

    $('td:contains(Henry)').nextAll().andSelf().addClass('highlight');
    //select all nextAll of Herny tag and itself
    //mean all the row
    
    $('td:contain(Henry)').parent().children().addClass('highlight');
    //select every cell in each row where at least one of the cells contains Henry
  • 相关阅读:
    EC6 map 和 set
    git merge 和 rebase 区别
    循环数据forin,foreach,for of
    转 纯CSS设置Checkbox复选框控件的样式
    CSS3特性 盒模型 动画
    正则表达式符号大全
    js中的apply调用
    今天发现了一个同学转发的一个前端面试题,今天转发过来
    正则表达式 实例汇总(待续添加)
    转载 javascript中的正则表达式总结 二
  • 原文地址:https://www.cnblogs.com/shawnzxx/p/2910183.html
Copyright © 2011-2022 走看看