文章目录

  • 一、获取父级节点
  • 二、获取子节点
    • 1、获取子节点
    • 2、获取指定子节点
  • 三、总结

一、获取父级节点

node.parentNode

代码如下(示例):

<!DOCTYPE html>
<head>父节点操作</head>
<body><div class="box"><span class="hang"></span></div>
</body>
<script>//获取父节点var hang = document.querySelector('.hang');//var box = document.querySelector('.box');var box = hang.parentNode;console.log(box);
</script>
</html>

(1)在控制台可以看到,我们已经获取了span标签的父级节点.box

(2)需要注意的是node.parentNode只能获取离元素最近的父级节点 (亲父亲),如果找不到父节点就返回为null

<body><div class="demo"><div class="box"><span class="hang"></span></div></div></body>
<script>//获取父节点var hang = document.querySelector('.hang');//var box = document.querySelector('.box');var box = hang.parentNode;console.log(box);
</script>

我在.box盒子外面再加一层.demo盒子, hang.parentNode获取的依旧是.box这个盒子

二、获取子节点

1、获取子节点

parentnode.children

代码如下(示例):

<!DOCTYPE html><head>子节点操作</head><body><div class="demo"><ul><li>01</li><li>02</li><li>03</li><li>04</li></ul></div>
</body>
<script>/*//DOM提供的方法(API)获取var ul = document.querySelector('ul');var lis = ul.querySelectorAll('li');*///获取子节点  var ul = document.querySelector('ul');console.log(ul.children);
</script></html>

在控制台可以看到,我们已经获取了ul标签下的所有小li

2、获取指定子节点

1、获取第一个子元素节点

parentnode.firstElementChild

2、获取最后一个子元素节点

parentnode.lastElementChild

代码如下:

<script>//获取子节点  var ul = document.querySelector('ul');console.log(ul.firstElementChild);     //获取第一个console.log(ul.lastElementChild);     //获取最后一个
</script>


(注意:这个方法存在兼容性问题,IE9以上才支持)

3、常用的写法

parentnode.children[i]; //任意一个
parentnode.children[0]; //第一个
parentnode.children[ parentnode.children.length-1]; //最后一个

代码如下:

<script>//获取子节点  var ul = document.querySelector('ul');console.log(ul.children[0]);console.log(ul.children[1]);console.log(ul.children[ul.children.length - 1]);
</script>

三、总结

  • 以上就是今天要讲的内容,简单介绍了如何获取父节点和子节点!

# 如何获取父节点和子节点相关推荐

  1. 总结获取原生JS(javascript)的父节点、子节点、兄弟节点

    关于原生JS获取节点,一直是个头疼的问题,而且调用方法的名字又贼长了,所以我选择用JQ,好像跑题了-- 话不多说看代码 获取父节点 及 父节点下所有子节点(兄弟节点) <ul><li ...

  2. JavaScript基础12-day14【DOM查询(获取元素节点、获取元素节点的子节点)、全选练习、DOM增删改、DOM添加删除记录、Window对象方法】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  3. jquery兄弟标签_jQuery获取父级、兄弟节点的方法

    原标题:jQuery获取父级.兄弟节点的方法 一.jQuery的父节点查找方法 $(selector).parent(selector):获取父节点 $(selector).parentNode:以n ...

  4. 【Groovy】自定义 Xml 生成器 BuilderSupport ( setParent 方法中设置父节点与子节点关系 )

    文章目录 一.setParent 方法中设置父节点与子节点关系 二.完整代码示例 1.MyBuilderSupport 生成器代码 2.使用 MyBuilderSupport 生成器创建 Xml 代码 ...

  5. 如何通过递归找父节点或子节点详解

    前言:如何通过递归去查询父节点或子节点,相信大家在平常肯定会遇到这样的需求,这一章我们就好好研究下如何用递归去找. 目录 一.递归找父节点或子节点 二.创建一张表关系表保存上面的关系 三.递归查询父节 ...

  6. ztree 获取当前选中节点的子节点集合

    功能:获取当前选中节点的子节点id集合. 步骤:1.获取当前节点 2.用ztree的方法transformToArray()获取当前选中节点(含选中节点)的子节点对象集合. 3.遍历集合,取出需要的值 ...

  7. Javacript中父节点、子节点、兄节点的简单用法[0306]

    Javacript中父节点.子节点.兄节点的简单用法[0306] 一.开解: 本文主要讲父子兄节点的简单用法,至于怎么取得节点,可以参考文[0301]和[0302],视情况而定,有时候我们分别会用到父 ...

  8. js或jquery如何获取父级、子级、兄弟元素(包括祖级、孙级等)

    原生javascript方法: 1 var a = document.getElementById("dom"); 2 del_space(a); //清理空格 3 var b = ...

  9. 数据结构-树:根节点、子节点、叶子节点是什么?

    前言:这个属于数据结构:树. 下面给个例子图解释(根节点.子节点.叶子节点). 上图数字 1.3.7是叶子节点:(因为他们下面没有分叉出子节点,所以称为:叶子节点)[度为0] 数字2.8是子节点: ( ...

最新文章

  1. 使用Nginx为Leanote配置Https
  2. 数独高阶技巧入门之四:简单异数链
  3. 背景建模之单高斯实现
  4. 若谷歌实用量子计算机难产,拉里·佩奇会把它砍掉吗?
  5. 使用pp架构形成计算机集群请求的地址无效_干货!史上最详细脑图《大型网站技术架构》...
  6. SSAS parent/child dimension
  7. mysql数据库补充知识3 查询数据库记录信息之多表查询
  8. pil python 安装_Python实现识别人脸特征并打印出来!
  9. 整理收藏 ASP中常见脚本精华代码
  10. TCL语言笔记:TCL过程控制练习
  11. SecureRandom生成随机数
  12. Oracle中将小数转换成字符丢零.截取小数.除数为零解决法
  13. Cake slicing
  14. gitup上传的坑 ! [rejected] master -> dev-gaochao (fetch first)......
  15. 使用这些方式让你的ipad拥有更长的使用寿命
  16. 指纹识别研究(一) 指纹的三级特征
  17. 漫画|望京和西二旗全解读:最美互联网人
  18. 计算机组成原理MVRD,计算机组成原理实验
  19. JAVA无法读取jvm.cfg_“could not open `C:\Program Files\Java\jre7\lib\amd64\jvm.cfg”问题解决办法...
  20. 私域运营中小程序的作用

热门文章

  1. win7英文版很多软件中文显示乱码解决方案
  2. MATLAB图像识别手写数字(第一篇:准备数据)
  3. sx1268芯片手册第13章翻译
  4. kali系统AOSP源码编译
  5. kali手机内核编译汇总
  6. 管易云·奇门和金蝶云星空接口打通对接实战
  7. 优化企业银行账户服务器,农业银行多措并举优化企业账户服务
  8. Vue——10 - webpack打包保姆级教程01——打包js、json、css、less、html、背景图片以及图片、字体(Font)文件,devsever,生产环境配置以及css的兼容写法
  9. 宅急送项目的第九天笔记!( 角色--权限管理)
  10. 大数据之spark详解