首页
|
网址导航
|
星座运势
|
天气预报
|
便民查询
|
万年历
|
手机查询
|
电子地图
|
交流论坛
影视预告
音乐咖啡
生活百科
CSS编程
JS编程
PHP编程
MYSQL编程
Linux服务器架设
Linux编程开发
热门搜索:
有限公司
感人故事
上海电视节
警匪
有情人
更多>>
热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)
热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)
站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.
(2009-08-08)
热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.
(2009-03-28)
台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)
台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)
热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)
热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)
台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)
特此通知:新台州站长论坛的数据信息全部升级成功!">
特此通知:新台州站长论坛的数据信息全部升级成功!
(2007-09-01)
台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)
台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)
禁止发广告之类的帖,已发现立即删除!(2007-08-30)
希望各位上传与下载有用资源和最新信息(2007-08-30)
热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)
网址推荐:
TOM免费邮箱
红魔球迷论坛
重庆市公安局
百度应用
波导
交通违章查询
贵州商业高等专
您当前的位置:
首页
»
JavaScript/JQuery编程
»
jQuery中10个非常有用的遍历函数
jQuery中10个非常有用的遍历函数
论坛链接
jQuery中10个非常有用的遍历函数
发布时间:2010-03-30 16:16:59 浏览数:7881 发布者:webptr 设置字体【
大
中
小
】
使用jQuery,可以 很容易的选择HTML元素。但有些时候,在HTML结构较为复杂时,提炼我们选择的元素就是一件麻烦的事情。在这篇教程中,我们将探讨十种方 法去精炼和扩展我们将要操作的集合。
HTML
首先,让我们看看下图所示的简单的页面,通过这个教程我们将选择这些元素。
div.container是包裹元素;
div.photo、div.title、div.rating是div.container的直接子级;
每个div.star是div.rating的子级;
当div.satr的class为“on”时, 它是一个完整的star。
为什么要遍历?
“为什么我们要进一步提炼一系 列元素,难道是jQuery选择语法不够 强大?”
好,让我们从示例开始。在上面提到的网页中,当一个star被 点击时,我们需要给它以及左边的每个star添加class“on”。与此同时,我们要改变所有star父元素的背景颜色,因此,我们的代码如下:
$('.star').click(function(){
$(this).addClass('on');
// 如何选取当前对象的 父元素?
// 如何获得当前star左侧所有的star?
});
在第二行,我们得到了我们点击的当前对象。但是,如 何得到stars的父级?即div.rating。但是,在一个页面中,有很多div.rating。哪一个是我们想要的?如何获得“this”左边所有的star?
可喜的是,jQuery允 许我们基于这些基层关系,在现存集合的基础上获得新的元素集合。而这些正是遍历函数发挥作用的地方。
1、children
这个函数得到一组元素的直接子级。
在很多情况下会很方便,看看下面这张图:
开始的时候容器中的star全部被选择;
给children()传递一个选择表 达式将选择结果缩小至选中的star;
如果chilidren()每接受任何 参数,将返回所有直接子级;
不返回孙级元素。
2、filter
这个函数通过传递的选择表达式从一个集合中过滤元素。任何不匹配这个表达式的元素将从选择的集合中移除。
下面的这个例子直截了当。从 5个star中过滤出class为“on”的star。
3、not
与filter恰恰相 反,not()从集合中移除匹配的元素。
看下面这个例子。偶数列的star从 选择集合中移除,留下的是奇数行的star。
“ 注意:'Even'和'odd'选择器是从0开始的,从0开 始计数,不是从1。”
4、add
如果我们想在集合中增加一些元素怎么办?add()函 数正是做这件事的。
同样简单明了,photo盒 子被添加到集合中。
5、slice
有时候,我们需要根据元素在集合的位置获取集合的子集。sliece()正是做这个的。
第一个参数是从零开始的第一个元素的位置,它包含在返回的片段中;
第二个参数是从零开始的第一个元素的索引。不包含在返回的片段中。如果省略,将延伸至集合的末尾;
所以,slice(0,2)将选取前两 个star。
6、parent
parent()函数选取一系列元素的直接父级。
正如下图所示,第一个star的 直接父级被选中。非常方便,应当指出,它仅仅返回直接父级,为什么很奇特?因为没有祖父元素或祖先元素被选中。
7、parents
这是复数形式,parents()选 择集合的所有祖先元素。我的意思是所有祖先元素包括直接父级到“body”和“html”元素。所以最好通过传递表达式缩小选择结果。
通过给parents()传 递.container参数,div.container将被选中,它实际上第一个star的祖父。
8、siblings
这个函数选择一组元素的所有兄弟姐妹,传递一个表达式可以筛选结果。
看看这个例子:
谁是第一个star的兄弟节点?其它的四个,对 不?
如图所示,“odd”的节点被选中。索 引是从零开始的,看看下面star的红色数字。
9、prev & prevAll
prev()函数选择前一个兄弟节点。prevAll()选择一个元素集合前面所有的兄弟节点。
如 果你正在构建一个星级部件,这将相当方便。第三个star前面的兄弟节 点被选中。
10、next & nextAll
这些函数与prev和prevAll工作方式相同,不过它选择的是下一个兄弟姐妹。
结论
最后,让我们来看看如何利用这些函数来解决现实世界中令我们头痛的问题。
$('.star').click(function(){
$(this).addClass('on');
// 如何取得当前对象的 父级?
$(this).parent().addClass('rated');
// 如何获得当前对象左 侧的star?
$(this).prevAll().addClass('on');
$(this).nextAll().removeClass('on');
});
这就是这篇教程中早期提到的问题,对吗?在这几行代码中我们使用了这几个遍历函数。
在第5行,看看parent()函数,啊哈,真简单。
在第8行和9行,prevAll()和nextAll().选择填充的star和 空的star。
现在,遍历函数是做么的方便。当在一起使用时,它们将更加强大。也就是说,一个函数的输出是另一个函数的输 入,它们是链式的。
上一篇:
JavaScript中的鼠标滚轮事件详解
下一篇:
推荐10个jquery动画菜单 十分漂亮
娱乐休闲专区
A 影视预告
B 音乐咖啡
C 英语阶梯
D 生活百科
网页编程专区
E AMPZ
F HTML
G CSS
H JS
I ASP
J PHP
K JSP
L MySQL
M AJAX
Linux技术区
N 系统管理
O 服务器架设
P 网络/硬件
Q 编程序开发
R 内核/嵌入
管理中心专区
S 发布网址
T 版主议事
U 事务处理