jQuery 选择器
- jQuery选择器是jQuery为我们提供的一组
方法
,让我们更加方便的获取到页面中的元素。
注意:jQuery选择器返回的是jQuery对象
。 - jQuery选择器有很多,基本兼容了CSS1到CSS3所有的选择器,并且jQuery还添加了很多扩展性的选择器。
- jQuery选择器虽然很多,但是选择器之间可以相互替代,就是说获取一个元素,你会有很多种方法获取到。
所以我们平时真正能用到的只是少数的最常用的选择器。
jQuery 基础选择器
1 | $("选择器") // 里面选择器直接写CSS选择器即可,但是要加引号 |
名称 | 用法 | 描述 |
---|---|---|
ID选择器 | $(“#id”); | 获取指定ID的元素 |
全选选择器 | $(“*”) | 匹配所有元素 |
类选择器 | $(“.class”); | 获取同一类class的元素 |
标签选择器 | $(“div”); | 获取同一类标签的所有元素 |
并集选择器 | $(“div,p,li”); | 使用逗号分隔,只要符合条件之一就可。 |
交集选择器 | $(“div.redClass”); | 获取class为redClass的div元素 |
jQuery 层级选择器
名称 | 用法 | 描述 |
---|---|---|
子代选择器 | $(“ul>li”); | 使用>号,获取儿子层级的元素,注意,并不会获取孙子层级的元素 |
后代选择器 | $(“ul li”); | 使用空格,代表后代选择器,获取ul下的所有li元素,包括孙子等 |
隐式迭代
遍历内部 DOM 元素(伪数组形式存储)的过程就叫做隐式迭代。简单理解一下就是给匹配到的所有元素进行循环遍历,执行相应的方法,不需要我们进行循环,简化了我们的操作,方便调用。
jQuery 筛选选择器
语法 | 用法 | 描述 |
---|---|---|
:first | $(“li:first”) | 获取第一个 li 元素 |
:last | $(“li:last”) | 获取最后一个 li 元素 |
eq(index) | $(“li:eq(2)”) | 获取到的 li 元素中,选择索引号为2的元素,索引号 index 从0开始 |
:odd | $(“li:odd”) | 获取到的元素中,选择索引号为奇数的元素 |
:even | $(“li:even”) | 获取到的元素中,选择索引号为偶数的元素 |
想要查看更多选择器,请到这里学习
jQuery 筛选方法
语法 | 用法 | 描述 |
---|---|---|
children(selector) | $(“ul”).children(“li”) | 相当于$(“ul>li”),子类选择器 |
find(selector) | $(“ul”).find(“li”); | 相当于$(“ul li”),后代选择器 |
siblings(selector) | $(“#first”).siblings(“li”); | 查找兄弟节点,不包括自己本身。 |
parent() | $(“#first”).parent(); | 查找父亲 |
eq(index) | $(“li”).eq(2); | 相当于$(“li:eq(2)”),index从0开始 |
next() | $(“li”).next() | 找下一个兄弟 |
prev() | $(“li”).prev() | 找上一个兄弟 |
jQuery 样式操作
操作 css 方法
jQuery 可以使用 css 方法来修改简单元素样式;也可以操作类,修改多个样式
参数只写属性名,则是返回属性值
1
$(this).css("color");
参数是属性名,属性值,逗号分割,是设置一组样式,属性必须加引号。
1
$(this).css("color","red");
参数可以是对象形式,方便设置多组样式。格式为属性名:属性值,属性值之间用逗号隔开。
1
2
3
4$(this).css({
color: red,
font-size: 20px
});
设置类样式方法
作用等同于以前的 classList ,可以操作类样式,注意操作类里面的参数不要加点。
添加类
1
$("div").addClass("current");
移除类
1
$("div").removeClass("current");
切换类
1
$("div").toggleClass("current");
类操作与 className 的区别
原生 JS 中 className 会覆盖元素里面的类名。
jQuery 里面类操作只是对指定类进行操作,不影响原先的类名。
GitHub Issues