参考文章

以一个网页作为例子:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title></head><body><div id="bb"><div class="box1"></div><div class="box"><p title="hhhh">第1</p><p dataId="2">第2</p><p>第3</p><p>第4</p></div><div class="box2"></div></div>
<script type="text/javascript">  var pp = document.getElementsByClassName("box")[0];
</script>
</body>
</html>

输出pp:

分别输出parentNode和parentElement:

区别
在获取根部document节点是,parentElement找的是元素,因此报错 null ,而parentNode获取的是节点,返回的是 #document


拓展
查找两个节点的最近的一个共同父节点,可以包括节点自身
(oNode1 和 oNode2 在同一文档中,且不会为相同的节点)

  • (父节点的父节点也算父节点,意思是父节点不止一个)
function commonParentNode(oNode1, oNode2) {while(true){if(oNode1.contains(oNode2))return oNode1oNode1 = oNode1.parentNode}
}

不断循环oNode1的父节点,若其包含oNode2,则该节点为最近父节点

JS中parentNode和parentElement的区别相关推荐

  1. js中parentNode和parentElement的区别和用法

    了解本篇的基础必须知道什么是节点,关于html dom节点知识点和节点类型的知识,分别看<js节点都有哪些类型?怎么判断是哪种节点类型?>和<js属性节点获取和移除>,下面直接 ...

  2. Js中的style,currentStyle,getComputedStyle()区别

    Js中的style,currentStyle,getComputedStyle()区别  样式表有三种方式: 1.内嵌样式(inline Style)-是写在Tag里面的,内嵌样式只对所有的Tag有效 ...

  3. JS中 let 和var的区别

    JS中let和var 的区别 简单介绍let var的常见变量提升 ES6可以用let定义块级作用域变量 let配合for循环的独特应用 let没有变量提升与暂时性死区 let变量不能重复声明 简单介 ...

  4. uniapp 获取到js文件var一个变量怎么获取到这个变量值_浅析Js中const,let,var的区别及作用域...

    理解:let变量的作用域只能在当前函数中 js中const,let,var的区别及作用域_lianzhang861的博客-CSDN博客​blog.csdn.net 全局作用域中,用 const 和 l ...

  5. js中的extend的用法及其JS中substring与substr的区别

    1.    JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为这两种方法的使用时一样的. ...

  6. js中几个对象的区别和用法

    js中几个对象的区别和用法 今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href" ...

  7. js中DOM, DOCUMENT, BOM, WINDOW 区别

    全栈工程师开发手册 (作者:栾鹏) js系列教程6-BOM操作全解 js系列教程7-DOM操作全解 js中DOM, DOCUMENT, BOM, WINDOW 区别 DOM 全称是 Document ...

  8. js中click()与onclick()的区别

    由一个简单示例到 js中click()与onclick()的区别 之前朋友在学习js的时候遇到一个有意思的问题. 先贴一份代码说一下代码构成 这里是html结构 <ul><li> ...

  9. js中 函数和方法的区别:转载于黑泽君

    js中 函数和方法的区别 在javascript中的解释为: 函数(function)是可以执行的javascript代码块,由javascript程序定义或javascript实现预定义.函数可以带 ...

最新文章

  1. Windows Phone开发(19):三维透视效果
  2. agv调度matlab程序,一种分布式AGV调度方法及调度系统与流程
  3. 随说秋色园从Access升迁到MSSQL过程
  4. Windows 2003 主域控和DNS迁移到Windows 2008 R2(1)
  5. java 抽象属性 设计_Java 抽象类与模板设计模式详解
  6. 数据库空值(Null)小结
  7. CRM软件设计评测点与采集测评点
  8. Sqoop导入HBase,并借助Coprocessor协处理器同步索引到ES
  9. DenseNet解析
  10. Linux安装Jenkins教程
  11. UG数控编程显示和隐藏的快捷键
  12. pyside6(1):Qt 资源系统和qrc文件使用
  13. CSS布局控制--盒子模型
  14. 计算机网络习题——循环冗余校验
  15. ViewPage2和Fragment以及Tablayout使用
  16. html flag属性,纯CSS实现文章左上角Flag标签
  17. Vistual Studio Community 2017 30天许可证过期
  18. 云原生---docker
  19. python生成12点的时钟_Python上24小时时间转换为12小时时钟(ProblemSetQuestion)
  20. SQL实现排序,并输出序号

热门文章

  1. 可解释性:对神经网络中层特征复杂度的解释与拆分丨ICML 2021
  2. c51抢答器程序汇编语言,单片机八路抢答器proteus仿真带汇编语言源程序 原理图...
  3. 【计算机组成与结构】期末复习DAY1
  4. 微信更换头像和昵称,为什么登陆小程序会出现还是获取到的之前的头像和昵称?
  5. 王小卤斩获iSEE全球食品创新奖百强,虎皮凤爪创新引领获认可
  6. 梦境西游的冠军基因:见证国产网游世界冠军之路
  7. static 关键字......
  8. 人工智能的新曙光:联邦学习
  9. 国外芯片的前缀,生产厂家及网址
  10. arm 上 Box86对比QEMU 的一点感受