选择器

作者: 就那两三事 | 来源:发表于2018-08-08 11:11 被阅读6次

    jq 选择器完全继承了 CSS 的风格,与CSS不同的是CSS找到元素后添加的是样式,而jq找到元素后添加的是行为且跨浏览器的兼容性。
    jq 的行为规则必须在获取到元素后才能生效。

    优势

    1. 简洁的写法,如$("#id");
    2. 支持CSS1到CSS3选择器;
    3. 完善的处理机制,如:假设没有id="id"的DOM节点,document.getElementById("id")就会报错,而jq不会;

    基本选择器

    选择器 使用 含义
    * $("*") 所有元素
    #id $("#lastname") id="lastname" 的元素
    .class $(".intro") 所有 class="intro" 的元素
    element $("p") 所有 <p> 元素
    .class.class $(".intro.demo") 所有 class="intro" 且 class="demo" 的元素
    s1,s2,s3 $("th,td,.intro") 所有带有匹配选择的元素

    层次选择器

    选择器 使用 含义
    p span $("p span") 选取<p>元素下的所有<span>元素
    p>span $("p>span") 选取<p>元素下的 元素名是<span>的直接子元素
    p+span $("p+span") 选取<p>元素后面的下一个<span>同辈元素
    p~span $("p~span") 选取<p>元素后面的所有<span>同辈元素

    表单选择器

    注意:<input>标签和input不同,前者是指input标签,后者是指可提交的表单元素

    选择器 使用 含义
    :input $(":input") 所有 <input> <textarea><select><button>元素
    :text $(":text") 所有 type="text" 的 input 元素
    :password $(":password") 所有 type="password" 的 input 元素
    :radio $(":radio") 所有 type="radio" 的 input 元素
    :checkbox $(":checkbox") 所有 type="checkbox" 的 input 元素
    :submit $(":submit") 所有 type="submit" 的 input 元素
    :reset $(":reset") 所有 type="reset" 的 input 元素
    :button $(":button") 所有 type="button" 的 input 元素
    :image $(":image") 所有 type="image" 的 input 元素
    :file $(":file") 所有 type="file" 的 input 元素

    过滤选择器

    过滤选择器之基本过滤选择器

    选择器 使用 含义
    :first $("p:first") 第一个 <p> 元素
    :last $("p:last") 最后一个 <p> 元素
    :even $("tr:even") 所有偶数 <tr> 元素(index从0开始)
    :odd $("tr:odd") 所有奇数 <tr> 元素(index从0开始)
    :eq(index) $("ul li:eq(3)") 列表中的第四个元素(index 从 0 开始)
    :gt(no) $("ul li:gt(3)") 列出 index 大于 3 的元素
    :lt(no) $("ul li:lt(3)") 列出 index 小于 3 的元素
    :not(selector) $("input:not(:empty)") 所有不为空的 input 元素
    :header $(":header") 所有标题元素 <h1> - <h6>
    :animated $("div:animated") 正在执行动画的<div>元素
    :focus $(":focus") 当前获取焦点的元素

    过滤选择器之内容过滤选择器

    选择器 使用 含义
    :contains(text) $(":contains('W3School')") 包含指定字符串的所有元素
    :empty $(":empty") 无子节点(包括文本)的所有元素
    :has(selector) $("p:has('span')") 或$("p:has(span)") 含有<span>元素所有的<p>元素
    :parent $("p:parent") 有子元素(包括文本)的<p>元素

    过滤选择器之可见性过滤选择器

    选择器 使用 含义
    :hidden $("p:hidden") 所有隐藏的 <p> 元素
    :visible $("table:visible") 所有可见的表格

    过滤选择器之属性过滤选择器

    选择器 使用 含义
    [attribute] $("[href]") 所有带有 href 属性的元素
    [attribute=value] $("[href='#']") 所有 href 属性的值等于 "#" 的元素
    [attribute!=value] $("[href!='#']") 所有 href 属性的值不等于 "#" 的元素,包括没有该属性的元素
    [attribute^=value] $("[href^='img']") 所有 href 属性的值包含以 "img" 开始的元素
    [attribute$=value] ("[href='.jpg']") 所有 href 属性的值包含以 ".jpg" 结尾的元素
    [attribute*=value] $("[href*='png']") 所有 href 属性的值包含以 "png" 的元素
    [attribute|=value] $("[href|='img']") 所有 href 属性的(唯一)值为"img"或以“img-”为前缀 的元素
    [attribute~=value] $("[href~='png']") 所有 href 属性(用空格分隔)的值中包含 "png" 的元素
    [attribute1][attribute2][attribute3] $("[href|='img'][href~='png']") 满足两个条件的元素

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

    选择器 使用 含义
    :enabled $(":enabled") 所有激活的 input 元素
    :disabled $(":disabled") 所有禁用的 input 元素
    :selected $(":selected") 所有被选取的 select元素
    :checked $(":checked") 所有被选中的 input 元素

    相关文章

      网友评论

          本文标题:选择器

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