zoukankan      html  css  js  c++  java
  • jQuery学习一(选择器)

     一直在学习web前端的知识,学习jQuey也有一段时间了,想总结一下。这一章先来学习jQuery选择器的知识。

      一、jQuery选择器的介绍

          jQuery中的选择器完全继承了css的风格。利用jQuery选择器,可以非常快速和便捷的找出DOM元素,学习jQuery选择器是学习jQuery的基础,因为所有的行为都要在获取元素之后才能生效

      二、jQuery选择器

         1、基本选择器

          基本选择器是最常用也是最简单的选择器,通过元素的id,class和标签名等来查找DOM元素

    选择器 描述 返回 示例
    #id 根据给定的id匹配一个元素 单个元素 $("#test")选取id为test的元素
    .class 根据给定的类名匹配元素 集合元素 $(".test")选取class为test的所有元素
    element 根据给定的元素名匹配元素 集合元素 $("p")选取所有的<p>元素
    * 匹配所有元素 集合元素 $("*")选取所有的元素
    selector1,selector2,....,selectorn 将每一个选择器匹配到的元素合并后一起返回 集合元素 $("div,span,p.myClass")选取所有的<div>,<span>拥有class为myClass的<p>元素

         2、层次选择器

          例如后代元素、子元素、相邻元素、同辈元素等,层次选择器是一个非常好的选择器

    选择器 描述 返回 示例
    $("ancestor descendant") 选择ancestor元素里所有的descendant(后代)元素 集合元素 $("div span")选择<div>里所有的<span>元素
    $("parent > child") 选择parent元素下的child(子)元素。与$("ancestor descendant")有区别,$("ancestor descendant")选择的是后代元素 集合元素 $("div > span")选取<div>元素下元素名为<span>的子元素
    $("prev + next") 选择紧接在prev元素后的next元素 集合元素 $(".one + div")选取class为one的下一个<div>同辈元素
    $("prev ~ siblings") 选取prev元素之后的所有siblings元素 集合元素 $("#two~div")选取id为two的元素后面的所有<div>同辈元素

        层次选择器中增加两个方法的介绍,next()方法可以用来代替$(".one + div"),nextAll()方法可以用来代替$("#prev~div")。siblings()方法与$("#prev~div")进行比较,siblings()方法与前后位置无关,只要是同辈节点就能匹配,$("#prev~div")只能选择"prev"元素之后的同辈元素"<div>"

      

       3、过滤选择器

      过滤选择器与css中的伪类选择器语法相同,即以一个冒号(:)开头。按照不同的过滤规则,过滤选择器可以分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单对象属性过滤选择器

        a、基本过滤选择器

    选择器 描述 返回 示例
    :first 选择第一个元素 单个元素 $("div:first")选择第一个<div>元素
    :last 选择最后一个元素 单个元素 $("div:last")选择所有<div>元素中最后一个<div>元素
    :not(selector) 去除所有与给定的选择器匹配的元素 集合元素 $("input:not(.myClass)")选取class不是myClass的input元素
    :even 选择索引为偶数的元素,索引从0开始 集合元素 $("input:even")选取索引为偶数的input元素
    :odd 选择索引为奇数的元素,索引从0开始 集合元素 $("input:odd")选取索引为奇数的input元素
    :eq(index) 选择索引等于index的元素(index从0开始) 单个元素 $("input:eq(1)")选取索引为1的input元素
    :gt(index) 选择索引大于index的元素(index从0开始) 集合元素 $("input:gt(1)")选取索引大于1的input元素
    :lt(index) 选择索引小于index的元素(index从0开始) 集合元素 $("input:lt(1)")选取索引小于1的input元素
    :header 选择所有的标题元素,例如h1,h2,h3等等 集合元素 $(":header")选取所有的标题元素
    :animated 选择当前正在执行动画的元素 集合元素 $("div:animated")选取正在执行动画的<div>元素
    :focus 选择所有获取焦点的元素 集合元素 $(":focus")选取当前获取焦点的元素

      b、内容过滤选择器

    选择器 描述 返回 示例
    :contains(text) 选择包含文本内容为"text"的元素 集合元素 $("div:contains('我')")选取含有文本"我"的<div>元素
    :empty 选择不包含子元素或者文本内容为空的元素 集合元素 $("div:empty")选取不包含子元素或者文本内容为空的<div>元素
    :has(selector) 选择含有"匹配选择器的元素"的元素 集合元素 $("div:has(p)")选取含有<p>元素的<div>元素
    :parent 选择包含子元素或者有文本内容的元素 集合元素 $("div:parent")选取拥有子元素(包括文本元素)的<div>元素

       

       c、可见性过滤器

    选择器 描述 返回 示例
    :hidden 选择所有不可见的元素 集合元素 $(":hidden")选择所有不可见得元素,包括<input type="hidden"/>,<div sytle="display:none;">,<div style="visibility:hidden">等元素,如果只想选择<input>元素,可以时间用$("input:hidden")
    :visible 选择所有可见的元素 集合元素 $("div:visible")选取所有可见的<div>元素

      

      

    d、属性过滤选择器

        属性过滤选择器是通过元素的属性来获取想过的元素的

    选择器 描述 返回 示例
    [attribute] 选择拥有此属性的元素 集合元素 $("div[id]")选取拥有id属性的<div>元素
    [attribute=value] 选择属性的值为value的元素 集合元素 $("div[id=test]")选择id属性值等于test的<div>元素
    [attribute!=value] 选择属性的值不为value的元素 集合元素 $("div[id=!test]")选择id属性值不等于test的<div>元素(注意:没有属性id的<div>元素也会被选取)
    [attribute^=value] 选择属性的值以value开头的元素 集合元素 $("div[id^=test]")选择id属性值以test开头的<div>元素
    [attribute$=value] 选择属性的值以value结束的元素 集合元素 $("div[id$=test]")选择id属性值以test结尾的<div>元素
    [attribute*=value] 选择属性的值包含value的元素 集合元素 $("div[id*=test]")选取id属性值含有test的<div>元素
    [attribute|=value] 选择属性的值等于value或以value为前缀(value后跟一个连字符"-")的元素 集合元素 $("div[id|=test]")选取id属性值等于或以test为前缀的<div>元素
    [attribute~=value] 选择属性用空格分隔的值中包含一个value的元素 集合元素 $("div[title~="uk"]")选取属性title用空格分开的值中包含字符uk的元素
    [attribute1][attribute2][attributeN] 用属性选择器合并成一个复合选择器,满足多个条件 集合元素 $("div[id][title$='uk']")选取拥有id属性,并且属性title以uk结尾的<div>元素

       

    e、子元素过滤选择器

    选择器 描述 返回 示例
    :nth-child(index/even/odd/equation) 选取每个父元素下的第index个元素或者基偶元素。(index从1算起) 集合元素 :eq(index)只匹配一个元素,而:nth-child(index)为每一个父元素匹配子元素,而且:nth-child(index)的index是从1计算的,:eq(index)是从0计算的
    :first-child 选取每个父元素的第1个子元素 集合元素 :first只返回单个元素,而:first-child选择器将为每一个父元素匹配第一个子元素,例如$("ul li:first-child")选取每个ul中的第一个li元素
    :last-child 选取每个父元素的最后一个子元素 集合元素 :last只返回单个元素,而:last-child选择器为每一个父元素匹配最后一个子元素,例如$("ul li:last-child")选取每个ul中最后一个li元素
    :only-child 如果某个元素是父元素中唯一的元素,那么将会匹配,如果父元素中包含其他的元素,则不会匹配 集合元素 $("ul li:only-child")在<ul>中选取是唯一子元素的li元素

      

      

    :nth-child的详细解释

      :nth-child(even)能选择每个父元素下的索引值是偶数的元素

      :nth-child(odd)能选择每个父元素下的索引值是基数的元素

      :nth-child(2)能选择每个父元素下的索引值是2的元素

      :nth-child(3n)能选择每个父元素下索引值是3的倍数的元素(n从1开始)

      :nth-child(3n+1)能选择每个父元素下索引值是(3n+1)的元素(n从1开始)

      f、表单对象属性过滤选择器

    选择器 描述 返回 示例
    :enabled 选择所有可用元素 集合元素 $("#form1:enabled")选择id为form1的表单内所有的可用元素
    :disabled 选择所有不可用元素 集合元素 $("#form1:disabled")选择id为form1的表单内所有的不可用元素
    :checked 选择所有选中的元素(单选框,复选框) 集合元素 $("input:checked")选择所有被选中的input元素
    :selected 选择所有被选中的选项元素(下拉列表) 集合元素 $("select option:selected")选择所有被选中的选项元素

      4、表单选择器

    选择器 描述 返回 示例
    :input 选取所有的<input>、<textarea>、<select>和<button>元素 集合元素 $(":input")选取所有<input>、<textarea>、<select>和<button>元素
    :text 选取所有的单行文本框 集合元素 $(":text")选取所有的单行文本框
    :password 选取所有的密码框 集合元素 $(":password")选取所有的密码框
    :radio 选取所有的单选框 集合元素 $(":radio")选取所有的单选框
    :checkBox 选取所有的多选框 集合元素 $(":checkBox")选取所有的多选框
    :submit 选取所有的提交按钮 集合元素 $(":submit")选取所有的提交按钮
    :image 选取所有的图像按钮 集合元素 $(":image")选取所有的图片按钮
    :reset 选取所有的重置按钮 集合元素 $(":reset")选取所有的重置按钮
    :button 选取所有的按钮 集合元素 $(":button")选取所有的按钮
    :file 选取所有的上传域 集合元素 $(":file")选取所有的上传域
    :hidden 选取所有的不可见元素 集合元素 $(":hidden")选取所有的不可见元素
  • 相关阅读:
    linux(不会考特别难,牢记下面即可)
    ajax
    Javascript 和 Jquery
    开发环境及配置
    网络协议考点
    面向对象考点
    会话控制
    文件操作
    正则表达式
    自定义函数和内部函数
  • 原文地址:https://www.cnblogs.com/hyzxx/p/5638228.html
Copyright © 2011-2022 走看看