文章目录
- 引入JQuery
- 下载JQuery
- JQuery与JavaScript入口函数的区别
- 常规选择器
- 1.基本选择器
- 2.层次选择器
- 3.过滤选择器
- 1.基本过滤选择器
- 2.内容过滤选择器
- 3.可见性过滤选择器
- 4.属性过滤选择器
- 5.子元素过滤选择器
- 6.表单对象属性过滤选择器
- 4.表单选择器
引入JQuery
在javascript中有两种方式引入JQuery库:
- 引入自己下载下来的JQuery库
- 从 CDN或百度 中载入 jQuery, 如从 Google 中加载 jQuery
//从百度中引入jQuery库
<head>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
</head>
jQuery 库是一个 JavaScript 文件,可以使用 HTML 的 <script> 标签引用它:
<head>
<script src="jquery-1.12.4.js"></script>
</head>
下载JQuery
JQuery有两个版本可供下载:
- Production version 用于实际的网站中,已被精简和压缩
- Development version 用于测试和开发(未压缩,是可读的代码)
JQuery与JavaScript入口函数的区别
win.onload | $(document).ready() |
必须等文档的所有的内容(包括图片或一些大型的元素)都加载完以后才执行 | 文档中的DOM节点加载完以后就会执行 |
多次执行,之前的会被覆盖(也就是只能执行一次) | 可以多次执行,之前的并不会被覆盖 |
无简写方式 | 简写方式:$(function() { }); |
常规选择器
JQuery最核心的组成部分,选择器引擎继承了css语法,不必担心浏览器的兼容性
1.基本选择器
选择器 | 描述 | 返回 | 示例 |
#id | 根据给定的id匹配一个元素 | 单个元素 | $(’#test’)选取id为test的元素 |
.class | 根据给定的类名匹配元素 | 集合元素 | $(’.test’)选取所有class为test的元素 |
element | 根据给定的元素名匹配元素 | 集合元素 | $(‘p’)选取所有的<p>标签 |
selector1,selector2,……,selectorN | 将每一个选择器匹配到的元素合并后一起返回 | 集合元素 | $(‘div,span,a.class’)选取所有<div>,<span>与class为class的<a>标签的一组元素 |
2.层次选择器
选择器 | 描述 | 返回 | 示例 |
$(ancestor descendant’) | 选取ancestor元素里的所有descendant后代元素 | 集合元素 | $(‘div span’)选取<div>里的所有的<span>元素 |
$(‘parent> child’) | 选取parent元素下的child子元素,$(‘ancestor descendant’)选择的是后代元素 | 集合元素 | $(‘div> span’)选取<div>元素下元素名是span的子元素 |
$(‘prev + next’) | 选取紧接在prev元素后的next元素 | 集合元素 | $(’.one + div’)选取class为one的下一个<div>元素 |
$(‘prev ~ siblings’) | 选取prev元素之后的所有siblings元素 | 集合元素 | $(’#two ~ div’)选取id为two的元素后面的所有<div>兄弟元素 |
3.过滤选择器
1.基本过滤选择器
选择器 | 描述 | 返回 | 示例 |
:first | 选取第一个元素 | 单个元素 | $(‘div:first’)选取所有<div>元素中第一个<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’)选取页面中所有的<h1>、<h2>、<h3>…… |
:animated | 选取当前正在执行动画的所有元素 | 集合元素 | $(‘div:animated’)选取正在执行动画的<div>元素 |
2.内容过滤选择器
选择器 | 描述 | 返回 | 示例 |
:contains(text) | 选取含有文本内容为text的元素 | 集合元素 | $('div:contains(“我”)‘)选取含有文本"我"的<div>元素 |
:empty | 选取不含子元素或者文本的空元素 | 集合元素 | $(‘div:empty’)选取不包含子元素(包括文本元素)的<div>空元素 |
:has(selector) | 选取含有选择器所匹配的元素 | 集合元素 | $(‘div:has(p)’)选取含有<p>元素的<div>元素 |
:parent | 选取含有子元素或者文本的元素 | 集合元素 | $(‘div:parent’)选取含有子元素(包括文本元素)的<div>元素 |
3.可见性过滤选择器
选择器 | 描述 | 返回 | 示例 |
:hidden | 选取所有不可见的元素 | 集合元素 | $(’:hidden’)选取所有不可见的元素,包括<input type = ‘hidden’ />、<div style = ‘display : none;’ >和<div style = ‘visibility : hidden;’>等元素。如果只想选取<input>元素,可以使用$(‘input:hidden’) |
:visible | 选取所有可见的元素 | 集合元素 | $(‘div:visible’)选取所有可见的<div>元素 |
在可见性过滤选择器中,需要注意选择器:hidden,它不包括样式属性display为none的元素,但包括文本隐藏域<input type = ‘hidden’/>和<div style = ‘visibility : hidden;’>
4.属性过滤选择器
选择器 | 描述 | 返回 | 示例 |
[attribute] | 选取拥有此属性的元素 | 集合元素 | $(‘div[id]’)选取拥有属性id的元素 |
[attribute = value] | 选取属性的值为value的元素 | 集合元素 | $(‘div[title = test]’)选取属性title为test的<div>元素 |
[attribute != value] | 选取属性的值不等于value的元素 | 集合元素 | $(‘div[title != test]’)选取属性title不等于test的<div>元素。注意:没有属性title的<div>元素也会被选取 |
[attribute ^= value] | 选取属性的值以value开始的元素 | 集合元素 | $(‘div[title ^= test]’)选取属性title以test开始的<div>元素 |
[attribute $= value] | 选取属性的值以value结束的元素 | 集合元素 | $(‘div[title $= test]’)选取属性title以test结束的<div>元素 |
[attribute *= value] | 选取属性的值含有value介绍的元素 | 集合元素 | $(‘div[title *= test]’)选取属性title含有test的<div>元素 |
[selector1][selector2]……[selectorN] | 用属性过滤选择器合并成一个复合属性过滤选择器,满足多个条件。每选择一次,缩小一次范围 | 集合元素 | $(‘div[id][title $= test]’)选取拥有属性id,并且属性title以test结束的<div>元素 |
5.子元素过滤选择器
选择器 | 描述 | 返回 | 示例 |
:nth-child(index/even/odd/equation) | 选取每个父元素下的第index个子元素或者奇偶元素(index从1算起) | 集合元素 | :eq(index)只匹配一个元素,而:nth-child将为每一个父元素匹配子元素,并且:nth-child(index)的index是从1开始的,而:eq(index)是从0算起的 |
:first-child | 选取每个元素的第一个子元素 | 集合元素 | :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>元素 |
6.表单对象属性过滤选择器
选择器 | 描述 | 返回 | 示例 |
:enabled | 选取所有可用元素 | 集合元素 | $(’#form1 :enabled’)选取id为form1的表单内的所有可用元素 |
:disabled | 选取所有不可用元素 | 集合元素 | $(’#form2 :disabled’)选取id为form2的表单内的所有不可用元素 |
:checked | 选取所有被选中的元素(单选按钮、复选框) | 集合元素 | $(‘input:checked’)选取所有被选中的<input>元素 |
:selected | 选取所有被选中的选项元素(下拉列表框) | 集合元素 | $(‘select: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’)选取所有不可见元素(已经在可见性过滤选择器中写过) |