jQuery 选择器总结

这是我写在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")  //选取所有

元素 * → $("*") //选取所有元素 $("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的元素后的所有
同辈元素;相当于 $("#two").nextAll("div");

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

    $("div:first");  //选取所有div元素中的第一个
元素 $("div:last"); //选取所有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)");  //选取含有

元素的div元素 $("div:parent"); //选取拥有子元素(包括文本元素)的div元素

3.3可见性过滤选择器

    $(":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");  //选取每个
    中第一个li元素 $("ul li:last-child"); //选取每个
      中最后一个li元素 $("ul li:only-child"); //在
        中选取是唯一子元素的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、选择请含有“·”、“#”、“(”、“]”等特殊字符串,需要在特殊字符前加转义符号 \ 。

    
cc
要写成 $("#id\\[1\\]")

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

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

你可能感兴趣的:(jQuery 选择器总结)