jQuery基础,选择器,筛选器(一)
什么是jQuery
- jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库
- jQuery极大的简化了JavaScript 编程
什么事JS类库
- 它就是一些函数的集合,就是把特定效果的代码写好,你只需要在用的时候要用很少的代码去调用。
- 起主导作用的是你的代码,由你来决定何时使用类库。
安装
下载到本地,再引入
下载地址:https://jquery.com/download/
<script src="jquery-3.3.1.min.js"></script>
<script>
//注意,一定在引入jQuery之后,再使用jQuery提供的各种操作
</script>
或者 直接使用CDN
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
code...
</script>
文档就绪事件
$(document).ready(function(){
// 开始写 jQuery 代码...
});
上述写法可以简写
$(function(){
// 开始写 jQuery 代码...
});
连贯操作
//对象可以连贯调用
$(dom).find('img').css('border','1px solid #ccc').css('color', 'red').prop('src', '1.jpg').toggle()
jQueryDOM和jsDOM
-
通过原生js获取的dom对象,我们称之为jsDOM或者原生DOM
-
通过jQuery选择器获取的dom对象,我们称之为 jQuery DOM
-
jQuery DOM本质上 是由 jsDOM组成的集合,是个类数组对象。可以通过 [索引] 获取其中的jsDOM
-
$(jsDOM)
可以转为 jQuery DOM
通过选择器,可以获取到页面元素。jQuery具有强大的选择器,跟CSS3选择器类似
基本选择器
#id 根据给定的ID匹配一个元素
element 根据给定的元素标签名匹配所有元素
.class 根据给定的css类名匹配元素。
* 匹配所有元素
selector1,selector2,selectorN 将每一个选择器匹配到的元素合并后一起返回
层级选择器
ancestor descendant 在给定的祖先元素下匹配所有的后代元素
parent>child 在给定的父元素下匹配所有的子元素
prev+next 匹配所有紧接在 prev 元素后的 next 元素
prev~siblings 匹配 prev 元素之后的所有 siblings 元素
过滤选择器
:first 获取第一个元素
:not(selector) 去除所有与给定选择器匹配的元素
:even 匹配所有索引值为偶数的元素,从 0 开始计数
:odd 匹配所有索引值为奇数的元素,从 0 开始计数
:eq(index) 匹配一个给定索引值的元素
:gt(index) 匹配所有大于给定索引值的元素
:lang 选择指定语言的所有元素。1.9+
:last 获取最后个元素
:lt(index) 匹配所有小于给定索引值的元素
:header 匹配如 h1, h2, h3之类的标题元素
:animated 匹配所有正在执行动画效果的元素
:focus 匹配当前获取焦点的元素
:root 选择该文档的根元素 1.9+
:target 选择由文档URI的格式化识别码表示的目标元素 1.9
内容选择器
:contains(text) 匹配包含给定文本的元素
:empty 匹配所有不包含子元素或者文本的空元素
:has(selector) 匹配含有选择器所匹配的元素的元素
:parent 匹配含有子元素或者文本的元素
可见性选择器
:hidden 匹配所有不可见元素,或者type为hidden的元素 :visible 匹配所有的可见元素
属性选择器
[attribute] 匹配包含给定属性的元素
[attribute=value] 匹配给定的属性是某个特定值的元素
[attribute!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素
[attribute^=value] 匹配给定的属性是以某些值开始的元素
[attribute$=value] 匹配给定的属性是以某些值结尾的元素
[attribute*=value] 匹配给定的属性是以包含某些值的元素
[attrSel1][attrSel2][attrSelN] 复合属性选择器,需要同时满足多个条件时使用
子元素选择器
:first-child 匹配所给选择器( :之前的选择器)的第一个子元素
:first-of-type 结构化伪类,匹配E的父元素的第一个E类型的孩子 1.9+
:last-child 匹配最后一个子元素
:last-of-type 结构化伪类,匹配E的父元素的最后一个E类型的孩子 1.9+
:nth-child() 匹配其父元素下的第N个子或奇偶元素
:nth-last-child() 选择所有他们父元素的第n个子元素。计数从最后一个元素开始到第一个 1.9+
:nth-last-of-type() 选择的所有他们的父级元素的第n个子元素,计数从最后一个元素到第一个 1.9+
:nth-of-type() 选择同属于一个父元素之下,并且标签名相同的子元素中的第n个 1.9+
:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配
:only-of-type 选择所有没有兄弟元素,且具有相同的元素名称的元素 1.9+
表单选择器
:input 匹配所有 input, textarea, select 和 button 元素 :text 匹配所有的单行文本框 :password 匹配所有密码框 :radio 匹配所有单选按钮 :checkbox 匹配所有复选框 :submit 匹配所有提交按钮,匹配 type="submit" 的input或者button :image 匹配所有图像域 :reset 匹配所有重置按钮 :button 匹配所有按钮 :file 匹配所有文件域
表单对象选择器
:enabled 匹配所有可用元素
:disabled 匹配所有不可用元素
:checked 匹配所有选中的被选中元素(复选框、单选框等,select中的option)
:selected 匹配所有选中的option元素
筛选器
过滤
eq(index|-index) 获取当前链式操作中第N个jQuery对象,返回jQuery对象 first() 获取第一个元素 last() 获取最后个元素 filter(expr|obj|ele|fn) 筛选出与指定表达式匹配的元素集合。 not(expr|ele|fn) 从匹配元素的集合中删除与指定表达式匹配的元素 has(expr|ele) 保留包含特定后代的元素,去掉那些不含有指定后代的元素。 slice(start,[end]) 选取一个匹配的子集
查找
children([expr]) 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。
find(e|o|e) 搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法
parent([expr]) 取得一个包含着所有匹配元素的唯一父元素的元素集合
parents([expr]) 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)
parentsUntil([e|e][,f]) 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止
offsetParent() 返回第一个匹配元素用于定位的父节点。
next([expr]) 取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合
nextAll([expr]) 查找当前元素之后所有的同辈元素
nextUntil([e|e][,f]) 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止
prev([expr]) 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合
prevall([expr]) 查找当前元素之前所有的同辈元素
prevUntil([e|e][,f]) 查找当前元素之前所有的同辈元素,直到遇到匹配的那个元素为止
siblings([expr]) 取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合
closest(e|o|e) 1.7* 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素
串联
add(e|e|h|o[,c]) 1.9* 把与表达式匹配的元素添加到jQuery对象中 andSelf() 1.8- 加入先前所选的加入当前元素中 addBack() 1.9+ 添加堆栈中元素集合到当前集合,一个选择性的过滤选择器。 contents() 查找匹配元素内部所有的子节点(包括文本节点) end() 回到最近的一个"破坏性"操作之前
其他元素处理
is(expr|obj|ele|fn) 根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true
map(callback) 将一组元素转换成其他数组(不论是否是元素数组)