jQuery

一、简介

1.1 简介

jQuery是一个优秀的JavaScript库,是对于ECMAScript、dom、bom的一个浅封装,让用户更方便操作。

1.2 导入方式

下载或使用CDN链接,通过标签导入html文档内

一般使用jquery.min.js版本导入,而jquery.js适用于源码研究

1.3 jquery函数

jQuery库只提供了一个叫jQuery的函数,该函数中以及该函数的原型中定义了大量的方法,方便jQuery对象和jQuery函数调用

  • 参数为选择器(字符串)

    $('#id')
    $('.class')

    通过选择器获取相应的DOM对象,然后将其封装进一个jQuery对象中

  • 参数为Element元素
  • 参数为HTML文本字符串

    $('
    hhh
    ')

    函数根据传入的文本创建html元素并将其封装到jQuery对象中。

  • 参数为匿名函数

    $(function(){})
    //当文档结构加载完毕后再执行函数中的内容
    //是$(document).ready(fuction(){})的简写

1.4 jQuery对象

是一个类数组对象,数组中存放的是DOM对象(Node的实例)。

jQuery对象是jQuery函数的实例,该对象可以调用jQuery原型中的方法。

jQuery对象的操作实际上是对数组中DOM对象批量操作。这两个对象可以相互转化。

二、jQuery选择器

2.1 基本选择器

  • 所有选择器

    *

  • 标签选择器

    标签名

  • ID选择器

    #ID

  • 类选择器

    .className

  • 群组选择器 selector1,selector2

    多个选择器使用逗号分割,取并集

  • 复合选择器 selector1selector2

    多个选择器组合使用,取交集

2.2 层次选择器

  • 后代选择器 selector1 selector2

    两个选择器使用空格隔开,表示可以获取当前元素的子代以及孙子代等等后代元素。

  • 子代选择器 selector1>selector2

    两个选择器使用>隔开,表示只能获取当前选中元素的子代元素。

2.3 兄弟选择器

  • 下一个兄弟选择器 selector1+selector2

    两个选择器使用+隔开,表示可以获取当前元素下一个兄弟元素,下一个兄弟元素要能符合selector2。

  • 之后所有兄弟选择器 selector1~selector2

    两个选择器使用~隔开,表示可以获取当前元素之后的所有兄弟元素,之后所有兄弟元素要能符合selector2。

2.4 过滤器

jQuery的过滤器必须用在jQuery选择器后,表示对通过前面的jQuery选择器选择到的内容的过滤。

2.4.1 基本过滤器

  • selector:first 获取所有已选择到的元素中的第一个元素
  • selector:last 获取所有已选择到的元素中的最后一个元素
  • selector:even 获取所有已选择到的元素中的索引为偶数元素
  • selector:odd 获取所有已选择到的元素中的索引为奇数元素
  • selector:eq(index) 获取所有已选择到的元素中的索引为index的元素
  • selector:lt(num) 获取所有已选择到的元素中索引值小于num的元素
  • selector:gt(num) 获取所有已选择到的元素中索引值大于num的元素
  • selector1:not(selector2)获取所有已选择到的元素中除了selector2的元素
  • selector:header 获取所有已选择到的元素中的标题元素

2.4.2 内容过滤器

  • elector:contains(text)

    获取所有已选择到的元素中文本包含text的元素

  • selector:empty

    获取所有没有子节点的元素

  • selector:parent

    获取所有有子节点的元素,如$("div:parent")

  • selector:has(selector2)

    获取所有已选择到的元素中包含selector2的元素,如$("div:has('span')")

2.4.3 可见性过滤器

  • :visible 选择所有占据屏幕空间的元素

    • visibility:hidden
    • opacity:0
  • :hidden 选择所有不占据屏幕空间的元素

    • display:none

2.4.4 属性过滤器

  • selector[attrKey]

    获取所有已选择到的元素中具有属性attrKey的元素

  • selector[attrKey=attrVal]

    获取所有已选择到的元素中具有属性attrKey,并且属性值为attrVal的元素

  • selector[attrKey^=attrVal]

    获取所有已选择到的元素中具有属性attrKey,并且属性值为以attrVal开头的元素

  • selector[attrKey$=attrVal]

    获取所有已选择到的元素中具有属性attrKey,并且属性值为以attrVal结尾的元素

  • selector[attrKey*=attrVal]

    获取所有已选择到的元素中具有属性attrKey,并且属性值为包含attrVal的元素

  • selector[attrKey!=attrVal]

    获取所有已选择到的元素中具有属性attrKey,并且属性值不为attrVal的元素或者没有属性attrKey的元素

2.4.5 后代过滤器

  • selector :nth-child(index)

    获取每个selector元素中索引为index的子元素【注意】index从1开始

  • selector :first-child
  • 获取每个selector元素中第一个子元素(每个父元素的第一个子元素)注意与selector:first的区别,获取所有selector元素的子元素中的第一个(只有一个)
  • selector :last-child

    获取每个selector元素中最后一个子元素(每个父元素的最后一个子元素)

  • selector :only-child

    获取每个selector元素中独生子子元素(每个父元素如果只有一个孩子元素,获取该元素)

  • selector :first-of-type

    获取每个selector元素中每种类型子元素中的第一个

  • selector :last-of-type

    获取每个selector元素中每种类型子元素中的最后一个

2.4.6 表单过滤器

  • :checked 选取所有被选中的元素,用于复选框和单选框,下拉框
  • :selected 选取所有被选中的选项元素,该选择器只适用于
  • :focus 选择当前获取焦点的元素
  • :text 选取所有的单行文本框(
  • :password 选取所有的密码框
  • :input 选取所有的