原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery 给我们做了封装,使获取元素统一标准。
$(“选择器”) // 里面选择器直接写 CSS 选择器即可,但是要加引号
名称 | 用法 | 描述 |
ID选择器 | $("#id") | 获取指定ID的元素 |
全选选择器 | $("*") | 匹配所有元素 |
类选择器 | $(".class") | 获取同一类class的元素 |
标签选择器 | $("div") | 获取同一类标签的所有元素 |
并集选择器 | $("div,p,li") | 选取多个元素 |
交集选择器 | $("li.current") | 交集元素 |
层级选择器最常用的两个分别为:后代选择器和子代选择器。
名称 | 用法 | 描述 |
子代选择器 | $("ul>li"); | 使用>号,获取亲儿子层级的元素;注意,并不会获取孙子层级的元素 |
后代选择器 | $("ul li"); | 使用空格,代表后代选择器,获取ul下的所有li元素,包括孙子等 |
Document
我是div我是nav div我是p
- 我是ol 的
- 我是ol 的
- 我是ol 的
- 我是ol 的
- 我是ul 的
- 我是ul 的
- 我是ul 的
- 我是ul 的
遍历内部 DOM 元素(伪数组形式存储)的过程就叫做隐式迭代。
简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。
Document
惊喜不,意外不惊喜不,意外不惊喜不,意外不惊喜不,意外不- 相同的操作
- 相同的操作
- 相同的操作
语法 | 用法 | 描述 |
:first | $("li:first") | 获取第一个li元素 |
:last | $("li:last") | 获取最后一个li元素 |
:eq(index) | $("li:eq(2)") | 获取到的li元素中,选择索引号为2的元素,索引号index从0开始 |
:odd | $("li:odd") | 获取到的li元素中,选择索引号为奇数的元素 |
:even | $("li:even") | 获取到的li元素中,选择索引号为偶数的元素 |
Document
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
- 多个里面筛选几个
语法 | 用法 | 说明 |
parent() | $("li").parent(); | 查找父级 |
children(selector) | $("ul").children("li") | 相当于$("ul>li"),最近一级(亲儿子) |
find(selector) | $("ul").find("li"); | 相当于$("ul li"),后代选择器 |
siblings(selector) | $(".first").siblings("li"); | 查找兄弟节点,不包括自己本身 |
nextAll([expr]) | $(".first").nextAll() | 查找当前元素之后所有的同辈元素 |
prevAll([expr]) | $(".last").prevAll() | 查找当前元素之前所有的同辈元素 |
hasClass(class) | $("div").hasClass("protected") | 检查当前的元素是否含有某个特定的类,如果有,则返回true |
eq(index) | $("li").eq(2); | 相当于$("li:eq(2)"),index从0开始 |
Document
儿子我是屁
我是p
Document
Document
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
- 我是ol 的li
俺有current俺木有current
想要多选一的效果,排他思想:当前元素设置样式,其余的兄弟元素清除样式。
Document
思路分析: