zoukankan      html  css  js  c++  java
  • jQuery(2)——选择器

    jQuery选择器

                选择器是行为与文档内容之间连接的纽带,选择器的最终目的就是能够轻松找到文档中的元素

    • jQuery选择器能够快速地找出特定的DOM元素,然后为它们添加相应的行为,而无需担心浏览器是否支持这一选择器
    • jQuery的行为规则都必须在获取元素后才能生效
    • CSS选择器找到元素后添加样式,jQuery选择器找到元素后添加行为
    • jQuery选择器具有完善的处理机制,即使网页上不存在某个元素也不会报错

              $()获取的永远是对象,即使网页上没有此元素,所以用jQuery检查某个元素在网页上是否存在要根据获取到元素的长度来判断

     1 if($("#td").length>0){
     2 .......
     3 }
     4 
     5 //或转换成DOM对象来判断
     6 
     7 if($("#tt")[0]){
     8 ......
     9 }
    10 
    11 //以下方法是错误的 错误的 错误的
    12 if($("#tt")){
    13 ......
    14 }

      jQuery选择器分为四种:基本选择器、层次选择器、过滤选择器、表单选择器

    基本选择器

    1 $("#myElement")   //选取id为myElement的元素
    2 $(".myClass")     //选取所有class为myClass的元素
    3 $("div")          //选取所有<div>元素
    4 $("*")            //选取所有元素
    5 $("div,span,p.myClass")  //选取所有<div>、<span>和class为myClass的<p>

    层次选择器

      用于通过DOM元素之间的层次关系来获取特定元素,例如后代元素、子元素、相邻元素、同辈元素等

    1 $("div span") //选取<div>里所有的span元素
    2 $("#main >*") //选取id为main元素的所有子元素
    3 $(".one+div") //选取class为one的下一个<div>同辈元素  可用next()方法代替
    4 $("#two ~ div")//选取id为two的元素后面的所有<div>同辈元素 可用nextAll()方法代替

    过滤选择器

    //基本过滤选择器
    :first                    //$("div:first") 选取所有<div>元素中的第一个<div>元素
    :last                    //$("div:last") 选取所有<div>元素中的最后一个<div>元素
    :even                    //$("tr:even") 选取索引是偶数(0、2、4.....)的<tr>元素 (注意:因为选择多个元素是为数组,所以索引从0开始)
    :odd                    //$("tr:odd")  选取索引是奇数(1、3、5.....)的<tr>元素
    :not(selector)         //$("input:not(.myClass)") 选取class不是myClass的<input>元素
    :eq(index)             //$("input:equ(1)") 选取索引等于1的<input>元素
    :gt(index)             //$("input:gt(1)") 选取索引大于1的<input>元素
    :lt(index)             //$("input:lt(1)") 选取索引小于1的<input>元素
    :header                //$(":header")选择网页中所有的标题元素 <h1> <h2> <h3> .....
    :animated              //$("div:animated")  选取正在执行动画的<div>元素
    :focus                 //$(":focuse")  选取当前获取焦点的元素
    
    
    //内容过滤器
    :contains(text)      //$("div:contains("我")")  选取含文本“我”的<div>元素
    :has(selector)       //$("div:has(p))  选取含有<p>元素的<div>元素
    :empty               //$("td:empty")  选取所有不包含子元素(包括文本元素)的<td>元素
    :parent              //$("div:parent")   选择拥有子元素(包括文本元素)的div元素
    
    //可见性过滤器
    :hidden            //$(":hidden") 选取所有不可见的元素;  如果只想选取input元素,用$("iput:hidden")
    :visible           //$("div:visible") 选取所有可见的<div>元素
    
    //属性过滤器
    $("div[id]")      //选取拥有属性id的div元素
    $("div[title='test']")  //选取tile为test的div元素
    $("div[title!='test']")  //选取tile不等于test的div元素
    $("div[title^='test']")  //选取tile以test开始的div元素
    $("div[title$='test']")  //选取tile以test结束的div元素
    $("div[title*='test']")  //选取tile包含test的div元素
    $("div[id][title$='test']") //选取拥有属性id,并且title已test结束的div元素   多个属性联合选择
    
    //子元素过滤选择器
    :nth-child()          // $("ul li:nth-child(even)")   $("ul li:nth-child(odd)")  $("ul li:nth-child(2)")  $("ul li:nth-child(3n)")--n从1开始
    :first-child         // $("ul li:first-child")  选取每一个ul中的第一个li元素
    :last-child          // $("ul li:last-child")  选取每一个ul中的最后一个li元素
    :only-child          // $("ul li:only-child")  选取是唯一子元素的li元素
    
    //表单对象属性过滤器
    :enabled           //$("#form1 :enabled")  选取id为form1的表单中的所有可用元素
    :disabled         //$("#form1 :disabled")  选取id为form1的表单中的所有不可用元素
    :checked         //$("input :checked")     选取所有被选中的<input>元素
    :selected       //$("select option :selected")  选取所有被选中的选项元素

    表单选择器

    $(":input")                //选择所有的表单输入元素,包括input, textarea, select 和 button
    $(":text")                 //选择所有的单行文本框
    $(":password")             //选择所有的密码框
    $(":radio")                // 选择所有的单选框
    $(":checkbox")             // 选择所有的多选框
    $(":submit")               // 选择所有的提交按钮
    $(":image")                // 选择所有的图像按钮
    $(":reset")                // 选择所有的重置按钮
    $(":button")               // 选择所有的按钮
    $(":file")                 // 选择所有的上传域
    $(":hidden")               // 选择所有的不可见元素 

    PS: 如果选择器中含有特殊符号,如 .  #  ()  [] 等,需用 \ 转义

    <div id="id#b">aa</div>          //$("#id\#b")       转义#
    <div id="id[1]">bb</div>         //$("#id\[1\]")     转义[]
  • 相关阅读:
    linux 运维
    mariadb replication
    phpmyadmin
    Objective-C设计模式——单例Singleton(对象创建)
    收藏iOS学习资料
    axios拦截器
    vue单页面优化
    html设置http缓存代码
    js数组去重,排序的几种方法
    前端移动端问题
  • 原文地址:https://www.cnblogs.com/HathawayLee/p/9568691.html
Copyright © 2011-2022 走看看