zoukankan      html  css  js  c++  java
  • jQuery常用选择器汇总

    一、基本选择器
    <body>
        <div>
            <div id="div1">
                aaaaaaaaaaa</div>
            <div class="c1">
                bbbbbbbbb</div>
            <span>ccccccccc</span>
        </div>
    </body>
    $(function () {
    
        $("#div1").html("hello world 1"); //根据id匹配元素(a)
    
        $(".c1").html("hello  world 2"); //根据Yclass匹配元素(b)
    
        $("span").html("hello world 3"); //根据元素名称匹配 (c)
    
        $("span,div.c1").html("hello world 4"); //匹配页面所有的span 和class=c1的div(b c)
    
        $("*").html("hello world 5"); //匹配页面所有元素,也包含body
    
    });

    二、层级选择器

    <body>
        <span id="span1">
            aaaaaaaaa</span>
        <span class="c1">
            bbbbbbbbb</span>
        <div>
            ccccccccc
            <span>ddddddddd</span>
        </div>
        <div>eeeeeeeee</div>
    </body>
    $(function () {
    
        $("body span").html("hello world 1"); //选取body中所有的span(a b d)
    
        $("body>span").html("hello world 2"); //选取body元素的子span元素(a b)
    
        $("span.c1+div").html("hello world 3"); //选取class为c1的span的下一个div元素,注意是同级元素
        $("span.c1").next().html("hello world 3"); //跟上行效果相同 (c)
    
        $("span.c1~div").html("hello world 4"); //选取class为c1的span的后面的所有div
        $("span.c1").nextAll().html("hello world 4"); //跟上行效果相同(c e)
    
    });

    三、基本过滤选择器

    <body>
        <h1>header1</h1>
        <h2>header2</h2>
        <h3>header3</h3>
        <span id="span1">aaaaaaaaa</span>
        <span class="c1">bbbbbbbbb</span>
        <div>
            ccccccccc
            <span>ddddddddd</span>
        </div>
        <div>eeeeeeeee</div>
    </body>
    $(function () {
    
        $("div:first").html("hello world 1"); //选取所有div中的第一个div
        $("span:last").html("hello world 2"); //选取所有span中的最后一个
        $("span:not(.c1)").html("hello world 3"); //选取除class为c1的span外的所有span
        $("span:even").html("hello world 4"); //选取索引为偶数的span,索引从0开始
        $("span:odd").html("hello world 5"); //选取索引为奇数的span,索引从0开始
        $("span:eq(2)").html("hello world 6"); //选取指定索引的span,索引从0开始
        $("span:gt(0)").html("hello world 7"); //选取大于指定索引的span,不包含指定索引
        $("span:lt(2)").html("hello world 8"); //选取小于指定索引的span,不包含指定索引
        $(":header").html("hello world 9"); //选取页面中所有的标题元素 h1 h2 h3...
    
    });

    四、内容过滤选择器

    <body>
        <span id="span1">aaaaaaaaa</span>
        <span class="c1">bbbbbbbbb</span>
        <span></span>
        <div>
            ccccccccc
            <span id="span2" class="c2">ddddddddd</span>
        </div>
        <div>eeeeeeeee</div>
    </body>
    $(function () {
    
        $("span:contains(aa)").html("hello world 1"); //选取内容包含aa的span元素
    
        $("span:empty").html("hello world 2"); //选取空的span元素
    
        $("div:has(span)").html("hello world 3"); //选取包含span的div元素
    
        $("span:parent").html("hello world 4"); //选取包含子元素的span元素,包含文本
    
    });

    五、属性过滤选择器

    <body>
        <span id="span1">aaaaaaaaa</span>
        <span class="c1">bbbbbbbbb</span>
        <span></span>
        <div>
            ccccccccc
            <span id="span2" class="c2">ddddddddd</span>
        </div>
        <div>eeeeeeeee</div>
    </body>
    $(function () {
    
        $("span[id]").html("hello world 1"); //选取有属性id的span元素
        $("span[id=span2]").html("hello world 2"); //选取属性id等于span2的span元素
        $("span[id!=span2]").html("hello world 3"); //选取属性id不等于为span2的span元素
        $("span[id^=span]").html("hello world 4"); //选取属性id以span开始的span元素
        $("span[id$=2]").html("hello world 5"); //选取属性id以2结尾的span元素
        $("span[id*=an]").html("hello world 6"); //选取属性id包含an的span元素
        $("span[id*=an][class$=2]").html("hello world 6"); //选取属性id包含an并且class以结尾的span元素
    
    });

    六、子元素过滤选择器

    <body>
       <div class="c1">
            <span>aaaaaaaa</span><span>cccccccc</span><span>dddddddd</span>
       </div>
       <div class="c1">
            <span>aaaaaaaa</span><span>cccccccc</span><span>dddddddd</span>
       </div>
       <div class="c1">
            <span>aaaaaaaa</span>
       </div>
    </body>
    $
    (function () {
    
        $("div.c1 :nth-child(1)").html("hello world 1"); //选取class等于c1的div的指定索引子元素
        $("div.c1 :nth-child(even)").html("hello world 2"); //选取class等于c1的div的偶数子元素
        $("div.c1 :nth-child(odd)").html("hello world 3"); //选取class等于c1的div的奇数子元素
        $("div.c1 :first-child").html("hello world 4"); //选取class等于c1的div的第一个子元素
        $("div.c1 :last-child").html("hello world 5"); //选取class等于c1的div的最后一个子元素
        $("div.c1 :only-child").html("hello world 6"); //选取class等于c1的div只有一个子元素的子元素
    
    });

    7、表单选择器

    <body>
      <form id="form1" action="#">
        <input type="button" value="button1" />
        <input type="text" value="text1" />
        <input type="text" value="text2" />
        <textarea rows="8" cols="40"></textarea><br />
        <input type="checkbox" name="chk" />篮球
        <input type="checkbox" name="chk" />足球
        <input type="password" />
        <input type="hidden" /><br />
        <select multiple="multiple">
            <option selected="selected">武汉</option>
            <option selected="selected">黄冈</option>
            <option >麻城</option>
        </select>
        <input id="n" type="radio" name="s"/>男
        <input type="radio" name="s"/>女<br />
        <input type="submit" /><input type="reset" />
      </form>
    </body>
    $(function () {
        //表单中的表单元素
        $("#form1 :input").val("hello world 1");
        //表单中的input元素
        $("#form1 input").val("hello world 1");
        $(":text").val("hello world 2");
        $(":password").val("hello world 3");
        //男的单选框被选中
        $(":radio[id=n]").attr("checked", true);
        $(":checkbox[name=chk]").length;
        $(":submmit").val("提交");
        $(":reset").val("重置");
        $(":button").val("hello world 4");
        $(":hidden").val("hello world 5");
    });

    8、表单对象属性过滤选择器

    <body>
      <form id="form1" action="#">
        <input type="text" disabled="disabled" value="禁用1" />
        <input type="text"  value="启用1" />
        <input type="text" disabled="disabled" value="禁用2" />
        <input type="text"  value="启用2" />
        <input type="checkbox" name="chk" value="篮球" checked="checked"/>篮球
        <input type="checkbox" name="chk" value="足球" />足球
        <input type="checkbox" name="chk" value="编程" checked="checked"/>编程
        <input type="checkbox" name="chk" value="旅游" checked="checked"/>旅游
        <select multiple="multiple">
            <option selected="selected">武汉</option>
            <option selected="selected">黄冈</option>
            <option >麻城</option>
        </select>
      </form></body>
     
    $(function () {
    
        $("#form1 input:enabled").val("hello world 1"); //选取form表单中没有禁用的文本框
        $("#form1 input:disabled").val("hello world 2"); //选取form表单中没有禁用的文本框
        $("#form1 input:checked").attr("checked",false); //选取form表单中选的复选框
        $("select option[selected]").each(function () {
            alert($(this).val());
        });
    
    });
     
    使用选择器要注意的地方
    <body>
        <div id="div#1">aaaaaaaaaaa</div>
        <div class="c[1]">bbbbbbbbb</div>
        <div class="c1">
            <div name="div">ccccccccc</div>
            <div name="div">ddddddddd</div>
            <div name="div">eeeeeeeee</div>
            <div class="c1" name="div">fffffffff</div>
        </div>
        <div class="c1" name="div">gggggggg</div>
        <div class="c1" name="div">hhhhhhhh</div>
    </body>
    $(function () {
    
        //有时在id或是class中有一些特殊字符如 [等,需要用反斜杠进行转义
        $("#div\\#1").html("hello world 1");
        $(".c\\[1\\]").html("hello world 2");
        //有没有空格的区别
        //有空格是选取class等于c1的div里面的name等于div的div(c d e f)
        $(".c1 [name=div]").html("hello world 3");
        //没有空格是选取class等于c1并且name等于div的div (f g h)
        $(".c1[name=div]").html("hello world 4");
    
    });
  • 相关阅读:
    Spring Boot中使用logback日志框架
    Java日志框架-logback配置文件参考(转)
    Java日志框架-logback配置文件多环境日志配置(开发、测试、生产)(原始解决方法)
    MySQL取每组的前N条记录
    跟大佬一起读源码:CurrentHashMap的扩容机制
    源码速读及点睛:HashMap
    求两个Linux文本文件的交集、差集、并集
    哪个先执行:@PostConstruct和@Bean的initMethod?
    Android Studio3.0 Error:Execution failed for task ':app:javaPreCompileDebug' 错误
    Android原生项目集成React Native
  • 原文地址:https://www.cnblogs.com/chaozhang/p/4664831.html
Copyright © 2011-2022 走看看