1 jQuery简介
jQuery 是一个 JavaScript 函数库。
jQuery 是一个轻量级的"写的少,做的多"的 JavaScript 库,可以实现很多浏览器的兼容问题。
2 jQuery语法
通过 jQuery,可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions)。
jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。
基础语法: $(selector).action()
- 美元符号定义 jQuery
- 选择符(selector)“查询"和"查找” HTML 元素
- jQuery 的 action() 执行对元素的操作
$
是 jQuery 的核心函数,能完成 jQuery 的很多功能。$()
就是调用$
这个函数
1、传入参数为 [ 函数 ] 时:
表示页面加载完成之后。相当于 window.onload = function(){}
2、传入参数为 [ HTML 字符串 ] 时:
会为我们创建这个 html 标签对象
3、传入参数为 [ 选择器字符串 ] 时:
$(“#id 属性值”); id 选择器,根据 id 查询标签对象
$(“标签名”); 标签名选择器,根据指定的标签名查询标签对象
$(“.class 属性值”); 类型选择器,可以根据 class 属性查询标签对象
4、传入参数为 [ DOM 对象 ] 时:
会把这个 dom 对象转换为 jQuery 对象
3 jQuery 对象和 dom 对象区分
3.1 什么是 jQuery 对象,什么是 dom 对象
Dom 对象
- 1.通过 getElementById()查询出来的标签对象,是 Dom 对象
- 2.通过 getElementsByName()查询出来的标签对象,是 Dom 对象
- 3.通过 getElementsByTagName()查询出来的标签对象,是 Dom 对象
- 4.通过 createElement() 方法创建的对象,是 Dom 对象
jQuery 对象
- 1.通过 JQuery 提供的 API 创建的对象,是 JQuery 对象
- 2.通过 JQuery 包装的 Dom 对象,是 JQuery 对象
- 3.通过 JQuery 提供的 API 查询到的对象,是 JQuery 对象
3.2 jQuery 对象的本质
jQuery 对象是 dom 对象的数组 + jQuery 提供的一系列功能函数。
3.3 Dom 对象和 jQuery 对象互转
1、dom 对象转化为 jQuery 对象
- 先有 DOM 对象
- $( DOM 对象 ) 就可以转换成为 jQuery 对象
2、jQuery 对象转为 dom 对象
- 先有 jQuery 对象
- jQuery 对象[下标]取出相应的 DOM 对象
4 jQuery 选择器
4.1 基本选择器
#ID 选择器:根据 id 查找标签对象
例:当用户点击按钮后,有 id=“test” 属性的元素将被隐藏;
$(function(){
$("button").click(function(){
$("#test").hide();
});
});
.class 选择器:根据 class 查找标签对象
例:用户点击按钮后所有带有 class=“test” 属性的元素都隐藏;
$(function(){
$("button").click(function(){
$(".test").hide();
});
});
注:以下三个选择器,格式与上两条类似,不再举例;
element 选择器:根据标签名查找标签对象
*选择器:表示任意的,所有的元素
selector1,selector2 组合选择器:合并选择器 1,选择器 2 的结果并返回
4.2 层级选择器
- ancestor descendant 后代选择器:
在给定的祖先元素下匹配所有的后代元素
例:选取<div>
元素的后代的所有<span>
元素
$("div span")
- parent > child 子元素选择器:
在给定的父元素下匹配所有的子元素
例:选取<div>
元素的直接子元素的<span>
元素
$("div > span")
- prev + next 相邻元素选择器:
匹配所有紧接在 prev 元素后的 next 元素
例:选取与每个<div>
元素相邻的下一个<p>
元素
$("div + p")
- prev ~ sibings 之后的兄弟元素选择器:
匹配 prev 元素之后的所有 siblings 元素
例:选取<div>
元素同级的所有<p>
元素
$("div ~ p")
4.3 过滤选择器
- :first 获取第一个元素
例:选取第一个<p>
元素
$("p:first")
- :last 获取最后个元素
- :not(selector) 去除所有与给定选择器匹配的元素
- :even 匹配所有索引值为偶数的元素,从 0 开始计数
- :odd 匹配所有索引值为奇数的元素,从 0 开始计数
- :eq(index) 匹配一个给定索引值的元素
- :gt(index) 匹配所有大于给定索引值的元素
- :lt(index) 匹配所有小于给定索引值的元素
- :header 匹配如 h1, h2, h3 之类的标题元素
- :animated 匹配所有正在执行动画效果的元素
4.4 内容过滤器
:contains(text) 匹配包含给定文本的元素
例:选取所有包含 “is” 的 <p>
元素
$("p:contains(is)")
:empty 匹配所有不包含子元素或者文本的空元素
:parent 匹配含有子元素或者文本的元素
:has(selector) 匹配含有选择器所匹配的元素的元素
4.5 属性过滤器
[attribute]
匹配包含给定属性的元素。
例:选取带有 id 属性的每个元素
$("[id]")
[attribute=value]
匹配给定的属性是某个特定值的元素
例:选取 id 属性值为 “choose” 的每个元素
$("[id=choose]")
[attribute!=value]
匹配所有不含有指定的属性,或者属性不等于特定值的元素。
例:选取所有 class 属性值不为 “intro” 的 <p>
元素
$("p[class!='intro']")
[attribute^=value]
匹配给定的属性是以某些值开始的元素
例:选取所有带有以 “nation” 开头的 name 属性的 <input>
元素
$("input[name^='nation']")
[attribute$=value]
匹配给定的属性是以某些值结尾的元素
例:选取所有带有以 “.org” 结尾的 href 属性的 <a>
元素
$("a[href$='.org']")
[attribute*=value]
匹配给定的属性是以包含某些值的元素
例:选取所有带有包含字符串 “nation” 的 name 属性的 <input>
元素
$("input[name*='nation']")
[attrSel1][attrSel2][attrSelN]
复合属性选择器,需要同时满足多个条件时使用。
4.5 表单过滤器
:input 匹配所有 input, textarea, select 和 button 元素
例:选取所有 input 元素:
$(":input")
:text 匹配所有 文本输入框
例:选取带有 type=“text” 的 元素
$(":text")
:password 匹配所有的密码输入框
:radio 匹配所有的单选框
:checkbox 匹配所有的复选框
:submit 匹配所有提交按钮
:image 匹配所有 img 标签
:reset 匹配所有重置按钮
:button 匹配所有 input type=button 按钮
:file 匹配所有 input type=file 文件上传
:hidden 匹配所有不可见元素 display:none 或 input type=hidden
4.6 表单对象属性过滤器
:enabled 匹配所有可用元素
例:选取所有启用的表单元素
$(":enabled")
:disabled 匹配所有不可用元素
:checked 匹配所有选中的单选,复选,和下拉列表中选中的 option 标签对象
:selected 匹配所有选中的 option