jQuery 遍历-后代深入解析分析【前端jQuery框架】

黎燃 发表于 2022/08/31 23:18:03 2022/08/31
【摘要】 @[toc] JQuery遍历JQuery遍历,意思是“移动”,用于根据HTML元素与其他元素的关系“查找”(或选择)HTML元素。从一个选择开始,沿着它移动,直到到达所需的元素。下图显示了一个家谱。通过jQuery遍历,您可以轻松地从所选(当前)元素在族谱树中上移(祖先)、下移(后代)和水平移动(同级)。这种移动称为DOM遍历。<div>元素是<ul>的父元素,也是其所有内容的祖先。元素是...

@[toc]

JQuery遍历

在这里插入图片描述

JQuery遍历,意思是“移动”,用于根据HTML元素与其他元素的关系“查找”(或选择)HTML元素。从一个选择开始,沿着它移动,直到到达所需的元素。
下图显示了一个家谱。通过jQuery遍历,您可以轻松地从所选(当前)元素在族谱树中上移(祖先)、下移(后代)和水平移动(同级)。这种移动称为DOM遍历。
在这里插入图片描述

<div>元素是<ul>的父元素,也是其所有内容的祖先。
元素是元素的父元素和div的子元素
左边的元素是<span>的父元素,是<ul>的子元素,是<div>的后代。
<span>元素是<li>的子元素,是<ul><div>的后代。
两个元素是兄弟元素(具有相同的父元素)。
右边的元素是b的父元素,ul的子元素,div的后代。
<b>元素是右侧<li>的子元素,是<ul><div>的后代。
JQuery提供了许多遍历dom的方法。
最大的遍历方法是树遍历。

Jquery parent()方法

parent()方法返回所选元素的直接父元素。
此方法将只在一个级别上遍历DOM树。
返回每个元素的直接父元素:

<div class="ancestors">
  <div style="width:500px;">div (曾祖父元素)
    <ul>ul (祖父元素)  
      <li>li (父元素)
        <span>span</span>
      </li>
    </ul>   
  </div>

  <div style="width:500px;">div (祖父元素)   
    <p>p (父元素)
        <span>span</span>
      </p> 
  </div>
</div>

在这里插入图片描述

Jquery parents()方法

parents()方法返回所选元素的所有祖先元素,这些元素一直到文档的根元素(<html>)。
所有元素的所有祖先:

$(document).ready(function(){
  $("span").parents();
});

运行结果
在这里插入图片描述

Jquery parentsuntil()方法

parentsuntil()方法返回两个给定元素之间的所有祖先元素。
返回<span><div>元素之间的所有祖先元素:

$(document).ready(function(){
  $("span").parentsUntil("div");
});

在这里插入图片描述

<body class="ancestors"> body (曾曾祖父元素)
  <div style="width:500px;">div (曾祖父元素)
    <ul>ul (祖父元素)  
      <li>li (父元素)
        <span>span</span>
      </li>
    </ul>   
  </div>
</body>

JQuery遍历-子体

子孙是子女、孙子、曾孙等等。
使用jQuery,可以向下遍历DOM树以查找元素的后代。

Jquery children()方法

children()方法返回所选元素的所有直接子元素。
该方法仅向下遍历DOM树一级。
返回每个<div>元素的所有直接子元素:

$(document).ready(function(){
  $("div").children();
});

Jquery children()方法运行截图如下:
在这里插入图片描述
返回所有类名为“1”的元素,它们是<div>的直接子元素:

$(document).ready(function(){
  $("div").children("p.1");
});

Jquery find()方法

find()方法返回所选元素的子元素,一直到最后一个子元素。
返回属于子体的所有元素:

$(document).ready(function(){
  $("div").find("span");
});

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。