jQuery JavaScript Query 是辅助JavaScript开发的JS类库。jQuery的核心思想是:write Less,Do More实现了很多浏览器的兼容问题。jQuery免费开源,语法简单便捷,容易学习
jQuery初体验
例子:
1 |
|
- 使用jQuery一定要引入jQuery库
- jQuery中的
$,是一个函数 - 怎么为按钮添加响应式函数:
- 使用jQuery查询到标签对象
- 使用标签对象的.click()function(){}
jQuery核心函数
$是jQuery的核心函数,能完成jQuery的很多功能。$()就是调用$这个函数
- 传入参数为函数时,如
$(function(){}),表示页面加载完成之后,相当于window.onload = function(){} - 传入参数为HTML字符串时,会创建这个html对象
- 传入参数为选择器字符串时:
- $(’#id属性值’) id选择器,根据id查询标签对象
- $(’#标签名’) 标签名选择器,根据指定的标签名查询标签对象
- $(’.class属性值’) 类选择器。可以根据class属性值查询标签对象
- 传入参数为DOM对象时:会把这个dom对象转换成jQuery对象
示例:
1 |
|
jQuery对象和DOM对象
DOM对象:
- 通过getElementById()查询出来的标签对象
- 通过getElementByName()查询出来的标签对象
- 通过getElementByTagName()查询出来的标签对象
- 通过createElement()查询出来的标签对象
(DOM对象alert出来的效果是:object HTML标签名Element)
jQuery对象:
- 通过jQuery提供的API创建的对象(传入参数为HTML字符串时,会创建这个html对象)
- 通过jQuery包装的DOM对象(传入参数为DOM对象时:会把这个dom对象转换成jQuery对象)
- 通过jQuery提供的API查询到的对象(传入参数为选择器字符串时:)
(jQuery对象alert出来的效果是:object Object)
jQuery对象是DOM对象数据+jQuery提供的一系列功能函数
jQuery对象和DOM对象在使用上是有区别的:
- jQuery对象不能使用DOM对象的属性和方法
- 同样的,DOM对象也不能使用jQuery对象的属性和方法
DOM对象和jQuery对象的互相转换
DOM对象转换成jQuery对象:
- 先有DOM对象
- $(DOM对象)
jQuery对象转换成DOM对象:
- 先有jQuery对象
- jQuery对象[下标]取出相应的DOM对象

jQuery选择器
jQuery 选择器允许我们对 HTML 元素组或单个元素进行操作。jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。jQuery 中所有选择器都以美元符号开头:$()。
基本选择器
#id根据id查找标签对象.class根据class查找标签对象element根据标签名查找标签对象*表示任意的,所有的元素selector1,selector2组合选择器,合并选择器1和选择器2的结果
例子:
1 |
|
效果如下:

层级选择器
ancestor descendant后代选择器:在给定的祖先元素下匹配所有的后代元素parent > child子元素选择器:在给定的父元素下匹配所有的子元素prev + next相邻元素选择器:匹配所有紧接在prev元素之后的next元素prev~sibings之后的兄弟元素选择器:匹配prev元素之后的所有sibings元素
例子:
1 |
|
效果如下:

过滤选择器
基本过滤器
:first获取第一个元素:last获取最后一个元素:not(selector)去除所有与给定选择器匹配的元素:even匹配所有索引值为偶数的元素,从0开始:odd匹配所有索引值为奇数的元素,从0开始:eq(index)匹配一个给定索引值的元素:gt(index)匹配所有大于给定索引值的元素:lt(index)匹配所有小于给定索引值的元素:header匹配如h1,h2,h3之类的标题元素:animated匹配所有正在执行动画效果的元素
例子:
1 |
|
效果如下:

内容过滤器
:contains(text)匹配包含给定文本的元素:empty匹配所有空元素(不包含子元素或者文本):parent匹配父元素(含有子元素或者文本):has(selector)匹配含有指定选择器所匹配的元素的元素
例子:
1 |
|
效果如下:

属性过滤器
[attribute]匹配包含给定属性的元素[attribute=value]匹配给定的属性是某个特定值的元素[attribute!=value]匹配给定的属性不是某个特定值的元素(或者不含有这个属性)[attribute^=value]匹配给定的属性值是以给定值开始的元素[attribute$=value]匹配给定的属性值是以给定值结束的元素[attribute*=value]匹配给定的属性值是包含给定值的元素[attrSel1][attrSel2][attrSelN]复合属性选择器,需要同时满足多个条件时使用
例子:
1 |
|
效果如下:

表单过滤器
:input匹配所有input,textarea,select和button元素:text匹配所有文本输入框:password匹配所有密码输入框:radio匹配所有的单选框:checkbox匹配所有的复选框:submit匹配所有的提价按钮:image匹配所有的img标签:reset匹配所有的重载按钮:button匹配所有的按钮(input type=button<button>):file匹配所有的input type=file文件上传:hidden匹配所有的不可见元素(display:none或input type=hidden)
表单对象属性过滤器:
:enable匹配所有的可用元素:disabled匹配所有的不可用元素:checked匹配所有所有的单选,复选,和下拉列表中选中的option标签对象:selected匹配所有选中的option
例子:
1 |
|
效果如下:

jQuery元素筛选
-
eq()获取指定索引的元素 功能和:eq()一样 -
first()获取第一个元素 功能跟:first()一样 -
last()获取最后一个元素 功能跟:last一样 -
filter(exp)留下匹配的元素 -
is(exp)判断是否匹配给定的选择器,只要有一个匹配就返回,true -
has(exp)返回包含有匹配选择器的元素的元素 功能跟:has一样 -
not(exp)删除匹配选择器的元素 功能跟:not一样 -
children(exp)返回匹配给定选择器的子元素 功能跟parent>child一样 -
find(exp)返回匹配给定选择器的后代元素 功能跟ancestor descendant一样 -
next()返回当前元素的下一个兄弟元素 功能跟prev + next功能一样 -
nextAll()返回当前元素后面所有的兄弟元素 功能跟prev ~ siblings功能一样 -
nextUntil()返回当前元素到指定匹配的元素为止的后面元素 -
parent()返回父元素 -
prev(exp)返回当前元素的上一个兄弟元素 -
prevAll()返回当前元素前面所有的兄弟元素 -
prevUnit(exp)返回当前元素到指定匹配的元素为止的前面元素 -
siblings(exp)返回所有兄弟元素 -
add()把 add 匹配的选择器的元素添加到当前 jquery
1 |
|
效果如下:
