• jQuery选择器


    一、选择器

    1、prev + next

    HTML 代码:
    <form>
      <label>Name:</label>
      <input name="name" />
      <fieldset>
          <label>Newsletter:</label>
          <input name="newsletter" />
     </fieldset>
    </form>
    <input name="none" />
    
    jQuery 代码:
    $("label + input")
    
    结果:
    [ <input name="name" />, <input name="newsletter" /> ]

    2、prev ~ siblings (一个选择器,并且它作为第一个选择器的同辈)

    //匹配 prev 元素之后的所有 siblings 元素

    HTML 代码:
    <form> <label>Name:</label> <input name="name" /> <fieldset> <label>Newsletter:</label> <input name="newsletter" /> </fieldset> </form> <input name="none" /> jQuery 代码: $("form ~ input") 结果: [ <input name="none" /> ]

    3、:not(selector) (去除所有与给定选择器匹配的元素)

    HTML 代码:
    <input name="apple" />
    <input name="flower" checked="checked" />
    
    jQuery 代码:
    $("input:not(:checked)")
    
    结果:
    [ <input name="apple" /> ]

    4、:gt(index) (匹配所有大于给定索引值的元素)

    //查找第二第三行,即索引值是1和2,也就是比0大
    HTML 代码:
    <table> <tr><td>Header 1</td></tr> <tr><td>Value 1</td></tr> <tr><td>Value 2</td></tr> </table> jQuery 代码: $("tr:gt(0)") 结果: [ <tr><td>Value 1</td></tr>, <tr><td>Value 2</td></tr> ]

    5、:lt(index) (匹配所有小于给定索引值的元素)

    查找第一第二行,即索引值是0和1,也就是比2小
    
    HTML 代码:
    <table>
      <tr><td>Header 1</td></tr>
      <tr><td>Value 1</td></tr>
      <tr><td>Value 2</td></tr>
    </table>
    
    jQuery 代码:
    $("tr:lt(2)")
    
    结果:
    [ <tr><td>Header 1</td></tr>, <tr><td>Value 1</td></tr> ]

    6、:lang(language)   

    选择指定语言的所有元素。

    :lang选择器,匹配有一个语言值等于所提供的语言代码,或以提供的语言代码开始,后面马上跟一个“ - ”的元素。例如,选择器$("div:lang(en)")将匹配<div lang="en"> and <div lang="en-us">(和他们的后代<div>),但不包括<div lang="fr">

    对于HTML元素,语言值由lang属性决定,也可能由来自meta元素或HTTP头信息决定。

    选择所有<P> 的语言属性:
    $("p:lang(it)")

    7、:header (匹配如 h1, h2, h3之类的标题元素)

    给页面内所有标题加上背景色
    
    HTML 代码:
    <h1>Header 1</h1>
    <p>Contents 1</p>
    <h2>Header 2</h2>
    <p>Contents 2</p>
    
    jQuery 代码:
    $(":header").css("background", "#EEE");
    
    结果:
    [ <h1 style="background:#EEE;">Header 1</h1>, <h2 style="background:#EEE;">Header 2</h2> ]

    8、:animated (匹配所有正在执行动画效果的元素)

    只有对不在执行动画效果的元素执行一个动画特效
    
    HTML 代码:
    <button id="run">Run</button><div></div>
    
    jQuery 代码:
    $("#run").click(function(){
      $("div:not(:animated)").animate({ left: "+=20" }, 1000);
    });

    9、:focus 

    匹配当前获取焦点的元素。

    如同其他伪类选择器(那些以":"开始),建议:focus前面用标记名称或其他选择;否则,通用选择("*")是不言而喻的。换句话说,$(':focus')等同为$('*:focus')。如果你正在寻找当前的焦点元素,$( document.activeElement )将检索,而不必搜索整个DOM树。

    添加一个"focused"的类名给那些有focus方法的元素
    
    css 代码:
    .focused {
        background: #abcdef;
    }
    
    html 代码:
    <div id="content">
        <input tabIndex="1">
        <input tabIndex="2">
        <select tabIndex="3">
            <option>select menu</option>
        </select>
        <div tabIndex="4">
            a div
        </div>
    </div>
    
    jQuery 代码:
    $( "#content" ).delegate( "*", "focus blur", function( event ) {
        var elem = $( this );
        setTimeout(function() {
           elem.toggleClass( "focused", elem.is( ":focus" ) );
        }, 0);
    });

    10、:root 

    选择该文档的根元素。

    在HTML中,文档的根元素,和$(":root")选择的元素一样, 永远是<html>元素。

    设置<html>背景颜色为黄色
    
    $(":root").css("background-color","yellow");

    11、:target

    选择由文档URI的格式化识别码表示的目标元素。

    如果文档的URI包含一个格式化的标识符,或hash(哈希), 然后:target选择器将匹配ID和标识符相匹配的元素。  例如,给定的URI http://example.com/#foo, $( "p:target" ),将选择<p id="foo">元素。

    12、:contains(text)  (匹配包含给定文本的元素)

    查找所有包含 "John" 的 div 元素
    
    HTML 代码:
    <div>John Resig</div>
    <div>George Martin</div>
    <div>Malcom John Sinclair</div>
    <div>J. Ohn</div>
    
    jQuery 代码:
    $("div:contains('John')")
    
    结果:
    [ <div>John Resig</div>, <div>Malcom John Sinclair</div> ]

    13、:empty (匹配所有不包含子元素或者文本的空元素)

    查找所有不包含子元素或者文本的空元素
    
    HTML 代码:
    <table>
      <tr><td>Value 1</td><td></td></tr>
      <tr><td>Value 2</td><td></td></tr>
    </table>
    
    jQuery 代码:
    $("td:empty")
    
    结果:
    [ <td></td>, <td></td> ]

    14、:has(selector)  (匹配含有选择器所匹配的元素的元素)

    给所有包含 p 元素的 div 元素添加一个 text 类
    
    HTML 代码:
    <div><p>Hello</p></div>
    <div>Hello again!</div>
    
    jQuery 代码:
    $("div:has(p)").addClass("test");
    
    结果:
    [ <div class="test"><p>Hello</p></div> ]

    15、[attribute^=value] (匹配给定的属性是以某些值开始的元素)

    查找所有 name 以 'news' 开始的 input 元素
    
    HTML 代码:
    <input name="newsletter" />
    <input name="milkman" />
    <input name="newsboy" />
    
    jQuery 代码:
    $("input[name^='news']")
    
    结果:
    [ <input name="newsletter" />, <input name="newsboy" /> ]

    16、[attribute$=value]  (匹配给定的属性是以某些值结尾的元素)

    查找所有 name 以 'letter' 结尾的 input 元素
    
    HTML 代码:
    <input name="newsletter" />
    <input name="milkman" />
    <input name="jobletter" />
    
    jQuery 代码:
    $("input[name$='letter']")
    
    结果:
    [ <input name="newsletter" />, <input name="jobletter" /> ]

    17、[attribute*=value]  (匹配给定的属性是以包含某些值的元素)

    查找所有 name 包含 'man' 的 input 元素
    
    HTML 代码:
    <input name="man-news" />
    <input name="milkman" />
    <input name="letterman2" />
    <input name="newmilk" />
    
    jQuery 代码:
    $("input[name*='man']")
    
    结果:
    [ <input name="man-news" />, <input name="milkman" />, <input name="letterman2" /> ]
  • 相关阅读:
    2014下半年软考总结
    Java学习之Filter
    java学习之PreparedStatement
    java学习之dom4j 对 xml的读取
    Windows查看端口占用及杀掉进程
    CentOS压力测试工具Tsung安装和图形报表生成Tsung安装配置
    Tsung压力测试:Openfire
    CentOS Mysql安装配置
    nodejs、webpack
    IOS操作系统上执行monkey测试
  • 原文地址:https://www.cnblogs.com/caojiayan/p/6227922.html
Copyright © 2020-2023  润新知