美文网首页
jQuery 选择器总结

jQuery 选择器总结

作者: liuxfu | 来源:发表于2018-01-20 15:05 被阅读0次

    这是我写在CSDN 的文章,原文在此[http://blog.csdn.net/dylan_l/article/details/50338107]

    一、jQuery选择器优势
    1、简洁的写法: $("选择器");
    2、支持css1 到 css3 所有选择器;
    3、完善的处理机制,无需判断引用的元素是否存在。

    二、jQuery选择器分类
    1、基本选择器

        #id    → $("#test") //选取id为test的元素
        .clss  →$(".test") 
        element  →$("p")  //选取所有<p>元素
        *     → $("*")     //选取所有元素
        $("div,span,p.myclass");  //选取这些所有的元素
    

    2、层次选择器

        $("div span");   //选择div中所有span元素
        $("div>span");   //选择div下所有的span子元素
        $(".one+div");   //选择class为one的下一个div同辈元素(选取紧接在class为one的元素后的div元素)
        //只选择该元素后的一个兄弟元素,相当于 $(".one").next("div");
        $("#two~div");   //选取id为two的元素后的所有<div>同辈元素;相当于 $("#two").nextAll("div");
    

    3、过滤选择器
    3.1 基本过滤选择器

        $("div:first");  //选取所有div元素中的第一个<div>元素
        $("div:last");   //选取所有div元素中的最后一个<div>元素
        $("intput:not(.test)");  //选取class不是test的input元素
        $("input:even");  //选取索引是偶数的input元素,索引从0开始数
        $("input:odd");   //选取索引是奇数的input元素
        $("input:eq(0)");  //选取索引等于0的input元素
        $("input:gt(2)");  //选取索引大于2(不包括2)的input元素
        $("input:lt(2)");  //选取索引小于2(不包括2)的input元素
        $(":header");      //选取网页中所有h1,h2,h3.....
        $("div:animated"); //选取正在执行动画的div元素
        $(":focus");       //选取当前获取焦点的元素
    
    

    3.2内容过滤选择器

        $("div:contains('我')");  //选取含有文本“我”的div元素
        $("div:empty");   //选取不包含子元素和文本元素的div空元素
        $("div:has(p)");  //选取含有<p>元素的div元素
        $("div:parent");  //选取拥有子元素(包括文本元素)的div元素
    

    3.3可见性过滤选择器

        $(":hidden");  //选取所有不可见元素,包括<input type="hidden" />,display:none,visiblity:hidden 等元素。
        //如果只想选取input元素,可使用$("input:hidden");
        $(":visible");  //选取所有可见元素
    

    3.4 属性过滤选择器

        $("div[id]");    //选取拥有属性id的元素
        $("div[title=test]");  //选取属性title为test的div元素
        $("div[title!=test]");  //选取属性title不等于test的div元素,包括没有属性title的div元素
        $("div[title^=test]");  //选取属性title以test开始的div元素
        $("div[title$=test]");  //选取属性title以test结束的div元素
        $("div[title*=test]");  //选取属性title含有test的div元素
        $("div[title|='en']");  //选取属性title等于en或以en为前缀(该字符串后跟一个连字符‘-’)的元素;
        $("div[title~='uk']");  //选取属性title用空格分隔的值中包含字符uk的元素
        $("div[id][title$='abc']");  //选取拥有属性id,并且属性title以“abc”结束的div的元素
    

    3.5 子元素过滤选择器

        $("div :nth-child(even)");  //选取每个div父元素下索引值是偶数的子元素
        $("div :nth-child(odd)");  //选取每个div父元素下索引值是奇数的子元素
        $("div :nth-child(2)");  //选取每个div父元素下索引值是2的子元素
        $("div :nth-child(3n+1)");  //选取每个div父元素下索引值是(3n+1)的元素(n从1开始算起)
        $("ul li:first-child");  //选取每个<ul>中第一个li元素
        $("ul li:last-child");  //选取每个<ul>中最后一个li元素
        $("ul li:only-child");  //在<ul>中选取是唯一子元素的li元素
        
    

    3.6 表单对象属性过滤选择器

        $("#form1 :enabled");   //选取id为“form1”的表单内所有可用元素
        $("#form1 :disabled");   //选取id为“form1”的表单内所有不可用元素
        $("input:checked");   //选取所有被选中的input元素
        $("select option:selected");   //选取所有被选中的选项元素
    ----------
        $(":input");  //选取所有input,textarea,select和button元素
        $(":text");   //选取所有单行文本框
        $(":password");  //选取所有密码框
        $(":radio");     //选取所有单选框
        $(":checkbox");  //选取所有复选框
        $(":submit");    //选取所有提交按钮
        $(":image");     //选取所有图像按钮
        $(":reset");    //选取所有重置按钮
        $(":button");   //选取所有按钮
        $(":file");     //选取所有上传域
        $(":hidden");   //选取所有不可见元素
        
    

    三、注意事项

    1、选择请含有“·”、“#”、“(”、“]”等特殊字符串,需要在特殊字符前加转义符号 \ 。

        <div id="id[1]">cc</div>
        要写成 $("#id\\[1\\]")
    

    2、jQuery 1.3.1版本后不用在属性选择器前添加“@”符号
    3、选择器中含有空格要注意

        $(".test :hidden");    // 选取class为test的元素里面的隐藏元素
        $(".test:hidden");     // 选取隐藏的 class为test的元素
    

    相关文章

      网友评论

          本文标题:jQuery 选择器总结

          本文链接:https://www.haomeiwen.com/subject/oirtaxtx.html