过滤
eq(index -index) 获取当前链式操作中第N个jQuery对象,返回jQuery对象
注:index为正数为正序获取,index为负数则反之,0为第一个元素,-1为最后一个元素
first() 获取元素集合中第一个元素
last() 获取元素集合中最后一个元素
filter(str obj elem fn(index, elem)) 筛选出与指定表达式匹配的元素集合(逗号分隔多个表达式)
has(str elem) 匹配包含特定后代的元素
not(str elem fn(index, elem)) 从匹配元素的集合中删除与指定表达式匹配的元素
is(str elem obj fn(index, elem)) 根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合
slice(start, end) 截取元素集合中的元素
1、1代表从第2个位置截取所有以下元素
2、1, 2代表截取第二个元素,1,3代表截取第2-3个元素
3、-1代表截取最后一个元素,-2代表截取倒数第1-2个元素
4、1, -1代表从第二个元素开始截取到倒数第一个元素
map(fn(index, elem)) 将一组元素转换成其他数组
each(fn(index, elem)) 以每一个匹配的元素作为上下文来执行一个函数
区别:map()用于获取元素集合的属性保存在新数组,each()等同于for循环,map()对内存消耗比较大少用
查找
find(str elem obj) 搜索所有与指定表达式匹配的元素
children(str) 查找匹配元素下的子元素
closest(str elem obj) 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素
从当前元素开始查找
沿 DOM 树向上遍历,直到找到已应用选择器的一个匹配为止
返回包含零个或一个元素的 jQuery 对象
1 // 使用clostest来完成事件委托 2 <ul> 3 <li>click me!</li> 4 <li>you can also <span>click me!</span></li> 5 </ul> 6 7 $(function () { 8 $(document).on("click", function (e) { 9 $(e.target).closest("li").toggleClass("highLight"); 10 }); 11 });
parent(str) 查找匹配元素的父元素
parents(str) 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)
从父元素开始查找
沿 DOM 树向上遍历,直到文档的根元素为止,将每个祖先元素添加到一个临时的集合;如果应用了选择器,则会基于该选择器对这个集合进行筛选
返回包含零个、一个或多个元素的 jQuery 对象
parentsUntil(str|elem, filter) 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止
1、不带参数等同于parents()
2、第一个值为不包括的元素,第二值为选中的元素
3、只有一个参数返回除参数下的所有元素(不包括自身)
offsetParent()
siblings(str)
prev()
prevAll()
prevUntil()
next()
nextAll()
nextUntil()
串联
add()
addBack()
contents()
end()