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

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

@[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");
});

在这里插入图片描述

相关文章
|
存储 Java
深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。
【10月更文挑战第16天】本文深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。HashSet基于哈希表实现,添加元素时根据哈希值分布,遍历时顺序不可预测;而TreeSet利用红黑树结构,按自然顺序或自定义顺序存储元素,确保遍历时有序输出。文章还提供了示例代码,帮助读者更好地理解这两种集合类型的使用场景和内部机制。
286 3
|
存储 前端开发 JavaScript
调用DeepSeek API增强版纯前端实现方案,支持文件上传和内容解析功能
本方案基于DeepSeek API增强版,提供纯前端实现的文件上传与内容解析功能。通过HTML和JavaScript,用户可选择文件并调用API完成上传及解析操作。方案支持多种文件格式(如PDF、TXT、DOCX),具备简化架构、提高响应速度和增强安全性等优势。示例代码展示了文件上传、内容解析及结果展示的完整流程,适合快速构建高效Web应用。开发者可根据需求扩展功能,满足多样化场景要求。
4407 64
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
1055 27
|
人工智能 自然语言处理 搜索推荐
ViDoRAG:开源多模态文档检索框架,多智能体推理+图文理解精准解析文档
ViDoRAG 是阿里巴巴通义实验室联合中国科学技术大学和上海交通大学推出的视觉文档检索增强生成框架,基于多智能体协作和动态迭代推理,显著提升复杂视觉文档的检索和生成效率。
1193 8
ViDoRAG:开源多模态文档检索框架,多智能体推理+图文理解精准解析文档
|
数据采集 前端开发 JavaScript
金融数据分析:解析JavaScript渲染的隐藏表格
本文详解了如何使用Python与Selenium结合代理IP技术,从金融网站(如东方财富网)抓取由JavaScript渲染的隐藏表格数据。内容涵盖环境搭建、代理配置、模拟用户行为、数据解析与分析等关键步骤。通过设置Cookie和User-Agent,突破反爬机制;借助Selenium等待页面渲染,精准定位动态数据。同时,提供了常见错误解决方案及延伸练习,帮助读者掌握金融数据采集的核心技能,为投资决策提供支持。注意规避动态加载、代理验证及元素定位等潜在陷阱,确保数据抓取高效稳定。
671 17
|
数据采集 自然语言处理 搜索推荐
基于qwen2.5的长文本解析、数据预测与趋势分析、代码生成能力赋能esg报告分析
Qwen2.5是一款强大的生成式预训练语言模型,擅长自然语言理解和生成,支持长文本解析、数据预测、代码生成等复杂任务。Qwen-Long作为其变体,专为长上下文场景优化,适用于大型文档处理、知识图谱构建等。Qwen2.5在ESG报告解析、多Agent协作、数学模型生成等方面表现出色,提供灵活且高效的解决方案。
1676 49
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
1034 3
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
测试技术 开发者 Python
使用Python解析和分析源代码
本文介绍了如何使用Python的`ast`模块解析和分析Python源代码,包括安装准备、解析源代码、分析抽象语法树(AST)等步骤,展示了通过自定义`NodeVisitor`类遍历AST并提取信息的方法,为代码质量提升和自动化工具开发提供基础。
1754 9
|
调度 开发者
核心概念解析:进程与线程的对比分析
在操作系统和计算机编程领域,进程和线程是两个基本而核心的概念。它们是程序执行和资源管理的基础,但它们之间存在显著的差异。本文将深入探讨进程与线程的区别,并分析它们在现代软件开发中的应用和重要性。
684 4

热门文章

最新文章

推荐镜像

更多
  • DNS