天天看点

jquery中的遍历详解

1、遍历

2、向上遍历dom树

3、向下遍历dom树

4、在dom树中水平遍历

5、过滤

1、遍历 我理解的遍历就是 根据一个结构中的一个点就可以找到整个结构的所有的东西。

2、向上遍历dom树

  1. parent()
  2. parents()
  3. parentsUnit()

parent()只会返回被选择元素的直接父元素

parents() 方法返回被选择元素所有祖先元素,它一路上直到文档的跟元素

<html>

您也可以使用可选参数来过滤对祖先元素的搜索。

$("span").parents("ul");
           

parentsUntil() 方法返回介于两个给定元素之间的所有祖先元素。

$("span").parentsUntil("div");
           

3、向下遍历dom树

children()

find()

  1. children() 方法返回被选元素的所有直接子元素。

    该方法只会向下一级对 DOM 树进行遍历。

$("div").children();
           

您也可以使用可选参数来过滤对子元素的搜索。

下面的例子返回类名为 “1” 的所有

<p>

元素,并且它们是

<div>

的直接子元素:

$("div").children("p.1");
           
  1. find()方法返回被选元素的后代元素,一路向下直到最后一个后代。

下面的例子返回属于

<div>

后代的所有

<span>

元素:

$("div").find("span");
           

下面的例子返回

<div>

的所有后代:

$("div").find("*");
           

4、在dom树种水平遍历

有许多有用的方法让我们在dom树进行水平遍历

siblings()

next()

nextAll()

nextUntil()

prev()

prevAll()

prevUntil()

  1. siblings() 方法返回被选元素的所有同胞元素。
$("h2").siblings();
 $("h2").siblings("p");//可以有参数
           
  1. next() 方法返回被选元素的下一个同胞元素。

    该方法只返回一个元素。

  2. nextAll()方法返回被选元素的所有跟随的同胞元素。
  3. nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
  4. prev() 同级前一个
  5. prevAll() 同级前所有
  6. prevUntil() 同意到两个 之间所有元素

5、过滤

缩小搜索元素的范围,三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。

  1. first() 方法返回被选元素的首个元素。下面的例子选取首个

    <div>

    元素内部的第一个

    <p>

    元素:
$("div p").first();
           
  1. last() 方法返回被选元素的最后一个元素。下面的例子选择最后一个

    <div>

    元素中的最后一个

    <p>

    元素:
$("div p").last();
           
  1. eq() 方法返回被选元素中带有指定索引号的元素。索引号从 0 开始,因此首个元素的索引号是 0 而不是 1。下面的例子选取第二个

    <p>

    元素(索引号 1):

    $(“p”).eq(1);

  2. filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。下面的例子返回带有类名 “url” 的所有

    <p>

    元素:
$("p").filter(".url");
           
  1. not() 方法返回不匹配标准的所有元素。提示:not() 方法与 filter() 相反。下面的例子返回不带有类名 “url” 的所有

    <p>

    元素:
$("p").not(".url");
           

继续阅读