jquery如何查找后代元素?jquery获取后代元素方法

酷敏同学_4827

酷敏同学_4827

2018-11-03

8909人浏览

原创

在上一篇我们讲到jquery获取父元素?相信你已经学会了,那么下面我们来讲一下jquery如何查找后代元素?jquery获取后代元素方法。

一: 查找后代元素三种方法

(1)children();

(2)contents();

(3)find();

所谓的后代元素,就是某个元素的“子元素”、“孙元素”……。孙元素,在前端虽然没这个说法,但是却比较形象,所以这一节使用这一个说法。

二:jquery获取后代元素方法

1.children()方法

在jQuery中,我们可以使用children()方法来查找当前元素的“所有子元素”或“部分子元素”。注意,children()方法只能查找子元素,不能查找其他后代元素。

语法:children(expression)

说明:参数expression表示jQuery选择器表达式,用来过滤子元素。当参数省略时,则将选择所有的子元素。如果参数不省略,则表示选择符合条件的子元素。

举例:

html>


    <title></title>
    <script></script>
    <script>
        $(function () {
            $(".wrapper").hover(function () {
                $(this).children(".test").css("color", "red");
            }, function () {
                $(this).children(".test").css("color", "black");
            })
        })
    </script>
    <div>
        <div>子元素</div>
        <ul>
            <li>孙元素</li>
            <li>孙元素</li>
            <li>孙元素</li>
        </ul>
        <div>子元素</div>
    </div>
    <hr>
    <div>
        <div>子元素</div>
        <ul>
            <li>孙元素</li>
            <li>孙元素</li>
            <li>孙元素</li>
        </ul>
        <div>子元素</div>
    </div>

效果如下:

1.png

当我们鼠标移到第1个class为wrapper的div元素上时,在浏览器预览效果如下:

2.png

分析:$(this).children(".test")表示选择当前元素下class为test的“子元素”。在这里我们会发现,虽然也有class为test的“孙元素”,但是使用children()方法却不会将“孙元素”选中。

2.contents()方法

与children()方法相似,contents()方法也是用来查找子内容的,但它不仅获取子元素,还可以获取文本节点、注释节点等。因此读者可以把它视为DOM中childNodes属性的jQuery实现。contents()方法很少用,作为初学者我们可以直接忽略这个方法。

我记得在之前不少教程中,对于常见但不常用的一些知识,都会多少提及一下。很多热心的建议说,站长啊,既然这个知识用不到,浪费篇幅,干嘛提及呢?直接删除都行了。其实嘛,道理很简单:学习知识,知道“哪些不用深入学习”,跟“知道哪些需要深入学习”是同等重要的。一来为了方便读者理清思路,二来以后碰到这个知识了,也有那么点印象不至于手忙脚乱。

3.find()方法

find()方法和children()方法相似,都是用来查找所选元素的后代元素,但是find()方法能够查找所有后代元素,而children()方法仅能够查找子元素。

find()方法和children()方法使用频率差不多,同等重要。大家要认真掌握,并且认真区分。

语法:find(expression)

说明:参数expression表示jQuery选择器表达式,用来过滤子元素。当参数省略时,则将选择所有的子元素。如果参数不省略,则表示选择符合条件的子元素。

举例:

html>


    <title></title>
    <script></script>
    <script>
        $(function () {
            $(".wrapper").hover(function () {
                $(this).find(".test").css("color", "red");
            }, function () {
                $(this).find(".test").css("color", "black");
            })
        })
    </script>
    <div>
        <div>子元素</div>
        <ul>
            <li>孙元素</li>
            <li>孙元素</li>
            <li>孙元素</li>
        </ul>
        <div>子元素</div>
    </div>
    <hr>
    <div>
        <div>子元素</div>
        <ul>
            <li>孙元素</li>
            <li>孙元素</li>
            <li>孙元素</li>
        </ul>
        <div>子元素</div>
    </div>

默认情况下,在浏览器预览效果如下:

10-3-3.png

当我们鼠标移到第1个class为wrapper的div元素上时,在浏览器预览效果如下:

10-3-4.png

分析:$(this).find(".test")表示选择当前元素下的class为test的所有“后代元素”,既包括子元素,也包括孙元素等所有后代元素。大家将find()方法这个例子跟children()方法那个例子对比一下,就能很直观发现两者之间的不同。

与children()方法相似,contents()方法也是用来查找子内容的,但它不仅获取子元素,还可以获取文本节点、注释节点等。因此读者可以把它视为DOM中childNodes属性的jQuery实现。contents()方法很少用,作为初学者我们可以直接忽略这个方法。如果想要深入学习的话,可以参考:jQuery教程。


PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

100

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

80

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

240

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

140

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

100

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习