美文网首页jQuery
jQuery 选择器

jQuery 选择器

作者: 邪人君子 | 来源:发表于2019-01-21 17:33 被阅读9次

    1.基本选择器

    $("*")        // 所有元素选择器,包括 HTML、head 和 body。
    $("#id")      // ID选择器,id 属性在文档内必须是唯一的。
    $("div")      // 元素选择器,选择所有的 div 元素。
    $(".classname")    // 类选择器,class 属性用于为多个 HTML 元素设置特定样式。
    

    2.层级选择器

    $(".class1 .class2")     // class 为 "class1"下所有 class 为 "class2"的元素,不限于直接子元素。
    $(".class1,.class2")     // class 为 "class1" 或者 "class2" 的元素。
    $(".class1>.class2")     // 选择所有直接父级是 class1 元素的 class2 的元素。
    $(".class1+.class2")     // 紧邻在class 为 "class1"后的一个 class 为 "class2"的元素。
    $(".class1~.class2")     // 同一层级下,也就是同一父元素下,class 为 "class1"后面所有 class 为 "class2"的元素。
    

    3.简单过滤选择器

    $("p:first")   // 全局下第一个 p 元素
    $("p:last")    // 全局下最后一个p
    $("li:even")   // 所有偶数 li 元素,索引值从 0 开始,第一个元素是偶数 (0),第二个元素是奇数 (1),以此类推。
    $("li:odd")    // 所有奇数 li 元素,索引值从 0 开始,第一个元素是偶数 (0),第二个元素是奇数 (1),以此类推。
    

    4.层级过滤选择器

    $("li:not(#runoob)")  //挑选除 id="runoob" 以外的所有li
    $("p:only-child")     // 当前父元素下只有自己一个子元素
    $("p:only-of-type")   // 当前父元素下只有自己一个 p 子元素,有其他类型的子元素无所谓
    $("p:first-child")    // 其父元素的第一个子元素是 p 元素的元素
    $("p:nth-child(2)")   // 其父元素的第二个子元素是 p 元素的元素
    $("p:first-of-type")  // 其父元素的第一个是 p 元素的元素
    $("p:nth-of-type(2)") // 其父元素的第一个是 p 元素的元素
    $("div p:first-child")  // 选择所有 div 元素下的第一个 p 元素
    last 选择器部分省略,方法同 first
    

    举例:

    :first , :first-child , first-of-type 的区别
    <div>
        <p>div 中第一个段落,是  div 的第一个子元素。</p>
    <!-- 在这里:first有效,first-child有效,first-of-type有效 -->
    
        <p>div 中的最后一个段落,是  div 的最后一个子元素。</p>
    </div><br>
    
    <div>
        <span>这是一个 span 元素,是 div 中的第一个子元素。</span>
        <p>另一个 div 中第一个段落,是 div 中的第二个子元素。</p>
    <!-- 在这里:first无效,first-child无效,first-of-type有效 -->
    
        <p>另一个 div 中的最后一个段落, 是 div 中的第三个子元素。</p>
        <span>这是一个 span 元素,是 div 中的最后一个子元素。</span>
    </div><br>
    
    关于 :only-child:
    <div>
    <p>只有一个子元素</p>
    <!--  $("p:only-child")有效  -->
    </div><br>
    

    5.列表过滤选择器

    $("ul li:eq(3)")    // 列表中的第四个元素(index 值从 0 开始)
    $("ul li:gt(3)")    // 列举 index 大于 3 的元素
    $("ul li:lt(3)")    // 列举 index 小于 3 的元素,index=0、1、2的前三个元素
    

    6.内容过滤选择器

    $("div:contains('hello')")     // 选取包含指定"hello"字符串的元素。
    // 该字符串可以是直接包含在元素中的文本,或者被包含于子元素中。
    $("div:has(p)")                // 所有包含有 p 元素在其内的 div 元素
    $(":header")                   // 所有标题元素 <h1>, <h2> ...
    

    7.可见性过滤选择器

    $("li:hidden")       //匹配所有不可见的 li 元素,或type为hidden的元素
    $("li:visible")      //匹配所有可见的 li 元素
    

    8.空元素过滤选择器

    $("td:empty")                  // 不包含子元素或者文本的空元素
    $("td:parent")                 // 与 :empty 相反,所有非空元素。
    

    9.属性过滤选择器

    $("div[id]")                  // 所有含有 id 属性的 div 元素
    $("div[id='123']")            // id属性值为123的div 元素
    $("div[id!='123']")           // id属性值不等于123的div 元素
    $("div[id^='qq']")            // id属性值以qq开头的div 元素
    $("div[id$='zz']")            // id属性值以zz结尾的div 元素
    $("div[id*='bb']")            // id属性值包含bb的div 元素
    $("div[id~='abc']")           // id属性值包含单词 abc 的 div 元素,使用汉字词语也可以
    $("input[id][name$='man']")   //多属性选过滤,同时满足两个属性的条件的元素
    

    10状态过滤选择器

    $("input:enabled")    // 匹配可用的 input
    $("input:disabled")   // 匹配不可用的 input
    $("input:checked")    // 匹配选中的 input
    $("option:selected")  // 匹配选中的 option
    

    11.表单选择器

    $(":input")      //匹配所有 input, textarea, select 和 button 元素
    $(":text")       //所有的单行文本框,$(":text") 等价于$("[type=text]"),推荐使用$("input:text")定位更准,下同
    $(":password")   //所有密码框
    $(":radio")      //所有单选按钮
    $(":checkbox")   //所有复选框
    $(":submit")     //所有提交按钮
    $(":reset")      //所有重置按钮
    $(":button")     //所有button按钮
    $(":file")       //所有文件域
    

    相关文章

      网友评论

        本文标题:jQuery 选择器

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