...
素材网 品牌美学馆标志
主站 营销美学 品牌设计 免费素材
989

jQuery中10个非常有用的遍历函数 1

素材公社- 品牌美学- 品牌风云 |发布于 2010-03-22 | 标签: 遍历 jQuery 函数

使用jQuery,可以很容易的选择HTML元素。但有些时候,在HTML结构较为复杂时,提炼我们选择的元素就是一件麻烦的事情。在这篇教程中,我们将探讨十种方法去精炼和扩展我们将要操作的集合。

HTML

首先,让我们看看下图所示的简单的页面,通过这个教程我们将选择这些元素。

  1. div.container是包裹元素;
  2. div.photo、div.title、div.rating是div.container的直接子级;
  3. 每个div.star是div.rating的子级;
  4. 当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允许我们基于这些基层关系,在现存集合的基础上获得新的元素集合。而这些正是遍历函数发挥作用的地方。

1children

这个函数得到一组元素的直接子级。

在很多情况下会很方便,看看下面这张图:

  1. 开始的时候容器中的star全部被选择;
  2. 给children()传递一个选择表达式将选择结果缩小至选中的star;
  3. 如果chilidren()每接受任何参数,将返回所有直接子级;
  4. 不返回孙级元素。

2filter

这个函数通过传递的选择表达式从一个集合中过滤元素。任何不匹配这个表达式的元素将从选择的集合中移除。

下面的这个例子直截了当。从 5个star中过滤出class为“on”的star。

3not

与filter恰恰相反,not()从集合中移除匹配的元素。

看下面这个例子。偶数列的star从选择集合中移除,留下的是奇数行的star。

注意:'Even''odd'选择器是从0开始的,从0开始计数,不是从1

4add

如果我们想在集合中增加一些元素怎么办?add()函数正是做这件事的。

同样简单明了,photo盒子被添加到集合中。

>

品牌风云最新热文

房地产的VI做起来,就像是在搞艺术 唱片封面设计 | 看得见的音乐艺术 “美味酒廊”VI设计欣赏 美学茶话:读懂齐白石的画,我放弃了画画

访问手机站
© Copyright 素材公社tooopen.com 本站部份内容收集于网络,如有侵犯您权益请告知删除| 湘ICP备11010972号-1