JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)

一.jQuery 遍历

 

1.什么是遍历

jQuery 遍历,意为“移动”,用于根据其相对于其他元素的关系来“查找”(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。

下图展示了一个家族树。通过 jQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对 DOM 进行遍历。

JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第1张图片

 

  • 元素是
      的父元素,同时是其中所有内容的祖先。
      • 元素是
      • 元素的父元素,同时是
        的子元素
      • 左边的
      • 元素是 的父元素,
          的子元素,同时是
          的后代。
        • 元素是
        • 的子元素,同时是
            的后代。
          • 两个
          • 元素是同胞(拥有相同的父元素)。
          • 右边的
          • 元素是 的父元素,
              的子元素,同时是
              的后代。
            • 元素是右边的
            • 的子元素,同时是
                的后代。

              提示:祖先是父、祖父、曾祖父等等。后代是子、孙、曾孙等等。同胞拥有相同的父。

               

               

              2.遍历 DOM

              jQuery 提供了多种遍历 DOM 的方法。

              遍历方法中最大的种类是树遍历(tree-traversal)。

               

               

              3.jQuery 遍历方法

              http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp

               

               

               

               

              二.jQuery 祖先

               

              祖先是父、祖父或曾祖父等等。

              通过 jQuery,您能够向上遍历 DOM 树,以查找元素的祖先。

               

              向上遍历 DOM 树

              这些 jQuery 方法很有用,它们用于向上遍历 DOM 树:

              • parent()

              • parents()

              • parentsUntil()

               

               

              1.jQuery parent() 方法

              parent() 方法返回被选元素的直接父元素。

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

              下面的例子返回每个 元素的的直接父元素:

               

               

              代码

              
              
              
              	
              
              		
              		
              		
              
              		
              
              
              
              	
              	
              	
              div (曾祖父)
                ul (祖父)
              • li (直接父) span
              div (祖父)

              p (直接父) span

               

               

              效果

              JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第2张图片

               

               

              2.jQuery parents() 方法

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

              下面的例子返回所有 元素的所有祖先:

               

               

              代码

              
              
              
              	
              
              		
              		
              		
              
              		
              
              
              
              	
              	
              	
              div (曾祖父)
                ul (祖父)
              • li (直接父) span
              div (祖父)

              p (直接父) span

               

               

              效果

              JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第3张图片

               

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

              下面的例子返回所有 元素的所有祖先,并且它是

                元素:

                 

                代码

                
                
                
                	
                
                		
                		
                		
                
                		
                
                
                
                	
                	
                	
                div (曾祖父)
                  ul (祖父)
                • li (直接父) span
                div (祖父)

                p (直接父) span

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第4张图片

                 

                 

                3.jQuery parentsUntil() 方法

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

                下面的例子返回介于

                元素之间的所有祖先元素:

                 

                代码

                
                
                
                	
                
                		
                		
                		
                
                		
                
                
                
                	
                	
                	 body (曾曾祖父)
                  
                div (曾祖父)
                  ul (祖父)
                • li (直接父) span

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第5张图片

                 

                 

                 

                4.jQuery 遍历参考手册

                http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp

                 

                 

                 

                 

                 

                三.jQuery 后代

                 

                后代是子、孙、曾孙等等。

                通过 jQuery,您能够向下遍历 DOM 树,以查找元素的后代。

                 

                向下遍历 DOM 树

                下面是两个用于向下遍历 DOM 树的 jQuery 方法:

                • children()

                • find()

                 

                 

                1.jQuery children() 方法

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

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

                下面的例子返回每个

                元素的所有直接子元素:

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (当前元素)

                p (子) span (孙)

                p (child) span (孙)

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第6张图片

                 

                 

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

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

                元素,并且它们是

                的直接子元素:

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (当前元素)

                p (子) span (孙)

                p (子) span (孙)

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第7张图片

                 

                 

                 

                2.jQuery find() 方法

                find() 方法返回被选元素的后代元素,一路向下直到最后一个后代。

                下面的例子返回属于

                后代的所有 元素:

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (current element)

                p (子) span (孙)

                p (child) span (孙)

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第8张图片

                 

                 

                下面的例子返回

                的所有后代:

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (当前元素)

                p (子) span (孙)

                p (child) span (孙)

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第9张图片

                 

                 

                 

                3.jQuery 遍历参考手册

                http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp

                 

                 

                 

                四.jQuery 同胞

                 

                同胞拥有相同的父元素。

                通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素。

                 

                在 DOM 树中水平遍历

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

                • siblings()

                • next()

                • nextAll()

                • nextUntil()

                • prev()

                • prevAll()

                • prevUntil()

                 

                 

                1.jQuery siblings() 方法

                siblings() 方法返回被选元素的所有同胞元素。

                下面的例子返回

                的所有同胞元素:

                 

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (父)

                p

                span

                h2

                h3

                p

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第10张图片

                 

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

                下面的例子返回属于

                的同胞元素的所有

                元素:

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (父)

                p

                span

                h2

                h3

                p

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第11张图片

                 

                 

                 

                2.jQuery next() 方法

                next() 方法返回被选元素的下一个同胞元素。

                该方法只返回一个元素。

                下面的例子返回

                的下一个同胞元素:

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (父)

                p

                span

                h2

                h3

                p

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第12张图片

                 

                 

                3.jQuery nextAll() 方法

                nextAll() 方法返回被选元素的所有跟随的同胞元素。

                下面的例子返回

                的所有跟随的同胞元素:

                 

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (父)

                p

                span

                h2

                h3

                p

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第13张图片

                 

                 

                4.jQuery nextUntil() 方法

                nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。

                下面的例子返回介于

                元素之间的所有同胞元素:

                 

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		
                div (父)

                p

                span

                h2

                h3

                h4

                h5
                h6

                p

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第14张图片

                 

                 

                5.jQuery prev(), prevAll() & prevUntil() 方法

                prev(), prevAll() 以及 prevUntil() 方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞元素向后遍历,而不是向前)。

                 

                 

                 

                6.jQuery 遍历参考手册

                http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp

                 

                 

                 

                五.jQuery 过滤

                 

                缩写搜索元素的范围

                三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。

                其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。

                 

                 

                1.jQuery first() 方法

                first() 方法返回被选元素的首个元素。

                下面的例子选取首个

                元素内部的第一个

                元素:

                 

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		

                欢迎来到我的主页

                这是 div 中的一个段落。

                这是 div 中的另一个段落。

                这也是段落。

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第15张图片

                 

                 

                2.jQuery last() 方法

                last() 方法返回被选元素的最后一个元素。

                下面的例子选择最后一个

                元素中的最后一个

                元素:

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		

                欢迎来到我的主页

                这是 div 中的一个段落。

                这是 div 中的另一个段落。

                这也是段落。

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第16张图片

                 

                 

                3.jQuery eq() 方法

                eq() 方法返回被选元素中带有指定索引号的元素。

                索引号从 0 开始,因此首个元素的索引号是 0 而不是 1。下面的例子选取第二个

                元素(索引号 1):

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		

                欢迎来到我的主页

                我是唐老鸭 (index 0)。

                唐老鸭 (index 1)。

                我住在 Duckburg (index 2)。

                我最好的朋友是米老鼠 (index 3)。

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第17张图片

                 

                 

                 

                4.jQuery filter() 方法

                filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

                下面的例子返回带有类名 "intro" 的所有

                元素:

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		

                欢迎来到我的主页

                我是唐老鸭。

                我住在 Duckburg。

                我爱 Duckburg。

                我最好的朋友是 Mickey。

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第18张图片

                 

                 

                5.jQuery not() 方法

                not() 方法返回不匹配标准的所有元素。

                提示:not() 方法与 filter() 相反。

                下面的例子返回不带有类名 "intro" 的所有

                元素:

                 

                 

                代码

                
                
                
                	
                
                		
                
                		
                
                		
                
                
                
                	
                
                	
                		

                欢迎来到我的主页

                我是唐老鸭。

                我住在 Duckburg。

                我爱 Duckburg。

                我最好的朋友是 Mickey。

                 

                 

                 

                效果

                JavaScript 教程之jQuery教程之jQuery框架详解(四)(jQuery 遍历)(遍历+祖先+后代+同胞+过滤)_第19张图片

                 

                 

                6.jQuery 遍历参考手册

                http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp

                 

                 

                 

                 

                 

                 

          • 你可能感兴趣的:(JavaScript)