捕获jQuery节点方法
写在前头,使用jQuery,应在正文sricpt标签上再加一个引用标签
比如 <script src="jquery-3.2.1.min.js"></script>
1 为什么有jQuery
jQuery是因为Javascript的命令太难打而创作出来的一个Javascript库
它的宗旨就是:“Write less, do more.“
2 jQuery的使用场景
- 选择器
- 筛选器
- 样式操作
- 文本操作
- 属性操作
- 文档处理
- 事件
- 动画效果
- 插件
- each、data、Ajax
下载链接:jQuery官网
中文文档:jQuery AP中文文档
3 jQuery版本
- 1.x:兼容IE678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日)
- 2.x:不兼容IE678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日)
- 3.x:不兼容IE678,只支持最新的浏览器。需要注意的是很多老的jQuery插件不支持3.x版。目前该版本是官方主要更新维护的版本。
4 jQuery对象
jQuery对象就是通过jQuery包装DOM对象后产生的对象
jQuery对象是 jQuery独有的。如果一个对象是 jQuery对象,那么它就可以使用jQuery里的方法:例如$(“#i1”).html()。
相当于: document.getElementById("i1").innerHTML;
一个约定,我们在声明一个jQuery对象变量的时候在变量名前面加上$:
5 捕获jQuery对象的各种方法
基本的捕获方法:
id捕获:$("#id")
标签类型捕获:$("tag")
类名捕获:$(".classname")
基于某类标签按id或类名捕获:$(div.classname);$(div#id.classname)
选择所有元素:$("*")
并集选择:$("#id,.classname,tag") 使用逗号隔开就好
$("x y");// x的所有后代y(子子孙孙)
$("x > y");// x的所有儿子y(儿子)
$("x + y")// 找到所有紧挨在x后面的y
$("x ~ y")// x之后所有的兄弟y
基本筛选器
:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
例子:
$('div:first') //找到排在第一个div标签
$("div:has(h1)")// 找到所有后代中有h1标签的div标签
$("div:has(.c1)")// 找到所有后代中有c1样式类的div标签
$("li:not(.c1)")// 找到所有不包含c1样式类的li标签
$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签
使用属性捕获:
[attribute] [attribute=value]// 属性等于 [attribute!=value]// 属性不等于 例子 // 示例 <input type="text"> <input type="password"> <input type="checkbox"> $("input[type='checkbox']");// 取到checkbox类型的input标签 $("input[type!='text']");// 取到类型不是text的input标签
使用jQuery对象的方法捕获:
$("#id").next() //下一个同级标签
$("#id").nextAll() // 后面所有同级标签
$("#id").nextUntil("#i2") //捕获后面的同级标签直到碰到id为i2的标签
向前找:
$("#id").prev() $("#id").prevAll() $("#id").prevUntil("#i2")
捕获父亲元素:
$("#id").parent() //返回父辈元素 $("#id").parents() // 返回当前元素的所有的上级元素
$("#id").parentsUntil() // 返回 当前元素的逐级的上级元素,直到匹配的那个元素为止。
捕获所有子元素:$("#id").children();
捕获所有同级元素:$("id").siblings();
选择所有子元素:$(".container").find('*') 或 $('#id *'); *代表任意类型元素
找出正在处理的元素的后代元素:$("div").find("p");