首页 > 代码库 > jQuery学习--------jQuery过滤器
jQuery学习--------jQuery过滤器
each() 方法规定为每个匹配元素规定运行的函数。
过滤:
下标过滤:
eq(index) //获取第index个元素
类过滤:
hasClass(class) //检查当前元素是否含有某个特定的类,如果有,返回true
例如:$("div").hasClass("div1") //含有div1类的div元素
表达式过滤:
filter(expr) //筛选出与指定表达式expr匹配的元素集合,用逗号分隔多个表达式
filter(fn) //筛选出与指定函数fn返回值匹配的元素集合
例如:$("div").filter(".red")这里的表达式是指:选择器表达式
has(expr) //参数expr是一个jQuery选择器表达式字符串
也可以是一个元素或者一组元素
例如:$("p").has(span.red) 选择拥有子元素span,并且子元素类为red的p元素
判断:表达式判断的方法不直接过滤元素,
仅作为一个检测工具判断当前jQuery对象是否包含满足条件的元素
is(expr)
例如:$("div").is(.red) //判断是否有含有类red的div元素,如果有返回true
映射:将jQuery中的每个对象映射到一个数组
map(callback)
callback:给每个元素执行的函数
清洗:从jQuery对象中删除符合条件的元素,并返回这个清洗后的jQuery
not(expr)
截取:截取当前jQuery对象中的部分元素,并将部分元素装在一个jQuery对象中返回。
slice(start,[end])
start表示开始选择子集的位置,第一个元素是0,
如果该参数为负数,则表示从集合的尾部开始选起。
end如果不指定,则表示到集合的结尾
注意:被截取元素不包含end指定的位置
查找:
向下查找后代元素:
DOM提供了三种方法:
使用childNodes属性
使用firstChild和lastChild属性
使用getElementById()和getElementsByTagName()方法
jQuery访问后代元素:
children()方法:查找当前元素的所有或部分子元素
语法:children([expr])
contents()方法:返回所有的子元素,还可以获取文本节点、注释节点
语法:contents();该方法没有参数
find()方法:查找所有的后代元素
语法:find(expr)
例子:$("body").find("p") //返回body下所有的p元素
向上查找祖先元素:
DOM提供了parentNode属性来访问父元素。
jQuery访问父元素:
parents()方法:返回被选元素的所有祖先元素,直到根元素<html>
语法:parent([expr]):expr表达式过滤查询到的祖先元素
parent()方法:返回被选元素的直接父元素。
parentsUntil()方法:查找指定范围内的父元素。
例子:$("span").parentsUntil("ul")//返回的父元素到ul标签为止。
offsetParent()方法:返回被选元素的第一个定位父元素。
closest()方法:查找指定的父元素
语法:closest(expr,[context])
向上查找兄弟元素:
DOM提供了previousSibling属性
jQuery访问向上的兄弟节点:
prev()方法:返回上一个相邻的元素(不包括文本节点)
语法:prev([expr])
prevAll()方法:返回当前元素以上的所有同辈元素
语法:prevAll([expr])
prevUntil()方法:返回当前元素到selector(不包含selector选择的元素)的所有同辈元素
语法:prevUntil([selector])
向下查找兄弟元素:
DOM提供nextSibling属性
jQuery访问向下的兄弟节点:
next()方法:匹配下一个相邻的节点,不包括文本节点
语法:next([expr])
nextAll()方法
nextUntil()方法
查找兄弟元素:
jQuery方法:
siblings()方法:查找所以的兄弟元素。
添加查找对象:
add()方法:向查找结果中添加新的查找内容。
语法:add(expr,[context])
示例:$("div").css("border","solid 5px #000")
.add("p")
.css("background","#990044")
串联:
addSelf()方法:将堆栈中的元素加入到查找结果的中
示例:
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li class="third-item">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
查询代码:
$("li.third-item").nextAll().andSelf()
.css("background-color", "red");
该代码会设置3,4,5项的背景颜色。
解释:初始的选择器会定位项目 3,初始化的堆栈存有仅包含该项目的集合。
调用 .nextAll() 会将项目 4, 5 的集合推入堆栈。
最后,调用 .andSelf() 会合并这两个集合。
所创建的 jQuery 对象指向按照文档顺序的所有三个项目:
{[<li.third-item>,<li>,<li> ]}。
end()方法:结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态