jQuery新手教程十个非常有用的遍历函数.docVIP

jQuery新手教程十个非常有用的遍历函数.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jQuery新手教程十个非常有用的遍历函数

使用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)

文档评论(0)

xinghua3aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档