Jquery遍历之获取子级元素、同级元素和父级元素

  Jquery的遍历,其实就当前位置的元素相对于其他元素的位置的关系进行查找或选取HTML元素。以某项选择开始,并沿着这条线进行移动,或向上(父级)、或向下(子级)、或水平(同级),直到找到目标元素为止,这种移动也被成为对DOM进行遍历。

  其实对于DOM来说,这个不陌生,Jquery的遍历也就是在DOM树上上蹿下跳,当然这种上蹿下跳不是没有规则的,胡乱的找是让人鄙视的。通俗的说,在一颗树上(你也在树上,已经爬上去了,哈哈),以你所在的位置为起点,以树上有个桃子为目的地,你的这个起点也就是当前 this ,去移动去摘桃子的过程就是Jquery遍历,所以相对应的Jquery所衍生出的遍历方法可以分为三大类,即Jquery遍历之父级(祖先)、同级(同胞)和子级(后代)三种。

  Jquery遍历之父级

  parent()  返回当前被选元素的直接父元素;

  parents()  返回当前被选元素的所有父元素,直到文档的根部即<html>处为止;

  parentsUntil()  返回介于两个元素之间的所有当前元素的祖先元素;$("#id1").parentsUntil("#id5") 若这个id5是id1的父级元素,则此方法放回的是id1向上遍历到id5的所有元素。

  Jquery遍历之同级

  有许多方法让我们可以在DOM树上进行水平遍历。下面进行简单介绍,主要还是要实战操作。

  siblings()  返回被选元素的所有同胞(同级)元素;

  ////向下(next)

  next()    返回被选元素的下一个同胞元素;

  nextAll()    返回被选元素的所有跟随的同胞元素,即当前元素以下的所有同胞元素;

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

  ////向上(prev)

  prev()    返回被选元素的下一个同胞元素;

  prevAll()    返回被选元素的所有跟随的同胞元素,即当前元素以下的所有同胞元素;

  prevUntil()    返回介于两个给定参数之间的所有跟随的同胞元素.

  Jquery遍历之子级

  children()  返回被选元素的直接子元素,就是真正的儿子,不往孙子重孙那边去。

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

  Jquery遍历each()方法

  最后也是最为常用常见的方法,Jquery的each()方法,一般情况下我们遍历出来的是一个数组,通过遍历这个数组获得目的元素并对其修改,each()方法最好不过了。 

  each() 方法规定为每个匹配元素规定运行的函数。

  提示:返回 false 可用于及早停止循环。

  语法$(selector).each(function(index,element))

  参数index - 选择器的 index 位置

        element - 当前的元素(也可使用 "this" 选择器)

  结束语:

  很长很长的时间我对于DOM的理解模模糊糊,感觉抓住了点东西又感觉什么也没有学到,理论与实践总是有差别的,通过几个项目的实践,对于概念的理解更加透彻,只有实践才能让理论的理解更加成熟,相辅相成。很多的时间花费在了页面这一块上,界面的处理,界面数据的处理让我深深的陷入了这个泥潭,去年花了很长的时间狠狠的学习了一遍数据库知识,去年下半年花了点时间再次回顾js/Jquery,起码让我在这个泥潭中陷入的时间短暂一点,对于我一个刚刚出道的年轻人(好像不怎么年轻了),迷茫、无知、恐惧总是伴随,只有不断的学习才能让我短暂的得到安全感。

  说的有点多了,就这样吧,以后的日子还长着呢。希望得到各位的鼓励,谢谢!!!

Jquery遍历之获取子级元素、同级元素和父级元素的更多相关文章

  1. 关于子元素的margin-top对父级容器无效

    如果不想看那么长,看下面这句话就好了. 刚开始我没看到这个总结时一直是使用自己摸索出来paddin-top解决,发现该方式并不好.亲测给父级加一个overflow不为visiable的属性就直接解决了 ...

  2. call继承父级属性,prototype继承父级方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. jquery点击获取子元素ID值

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. jquery遍历table获取td单元格的值

    $("#grd").find("tr").each(function () { //第二列单元格的值eq(索引) alert($(this).children( ...

  5. jQuery使用(四):DOM操作之查找兄弟元素和父级元素

    查找兄弟元素 向下查找兄弟元素 next() nextAll() nextUntil() 向上查找兄弟元素 prev() prevAll() prevUntil() 查找所有兄弟元素 siblings ...

  6. js input复选框选中父级同时子级也选中

    js实现复选框选中父级元素子级元素也选中,没有子级元素选中父级也不选中的效果 HTML <tr> <td> <label> <input name=" ...

  7. jQuery遍历文档(重要)

    什么是遍历? jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素.以某项选择开始,并沿着这个选择移动,直到抵达您 ...

  8. JQuery:JQuery遍历详解

    JQuery:遍历一.什么是遍历?jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素.以某项选择开始,并沿着这个 ...

  9. 3..jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

随机推荐

  1. Apache Linux下Apache安装步骤

    Apache简介         Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广 ...

  2. 原生js :removeClass和addClass

    function removeClass(obj, aClass) { var re = new RegExp('\\b' + aClass + '\\b'); if (obj.className ! ...

  3. MYSQL主从同步/主主同步

    一.MYSQL主从同步 注意:进行主从同步操作时需要确保DB无写操作 flush tables with read lock:   //全局读锁定,执行了命令之后所有库所有表都被锁定只读. 1.在主机 ...

  4. php获取ip地址所在的地理位置的实现

    1,通过腾讯或者新浪提供的接口来获取(新浪和腾讯类似) <?php     function getIPLocation($queryIP){      $url = 'http://ip.qq ...

  5. 如何用fiddler + 手机设置无线代理 下载只有 手机才能访问的资源。

    我主要用来获取,一些特定的API,研究学习. 责任声明: 如果你用来违法犯罪,与我无关. 1.使电脑成为代理服务器 架代理服务器的软件有很多,自己百度一下.也可以用现成的代理软件.(其实Fiddler ...

  6. 聚类——FCM的matlab程序

    聚类——FCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——FCM文章中已介绍了FCM算法的理论知识,现在用matlab ...

  7. C++ 中operator用法:隐式类型转换

    [转]C++ operator两种用法 C++,有时它的确是个耐玩的东东,就比如operator,它有两种用法,一种是operator overloading(操作符重载),一种是operator c ...

  8. 【技术与商业案例解读笔记】095:Google大数据三驾马车笔记

     1.谷歌三驾马车地位 [关键词]开启时代,指明方向 聊起大数据,我们通常言必称谷歌,谷歌有“三驾马车”:谷歌文件系统(GFS).MapReduce和BigTable.谷歌的“三驾马车”开启了大数据时 ...

  9. 寒假特训——搜索——H - Nephren gives a riddle

    What are you doing at the end of the world? Are you busy? Will you save us? Nephren is playing a gam ...

  10. Pandas 的数据结构

    Pandas的数据结构 导入pandas: 三剑客 from pandas import Series,DataFrame import pandas as pd import numpy as np ...