了解本篇的基础必须知道什么是节点,关于html dom节点知识点和节点类型的知识,分别看《js节点都有哪些类型?怎么判断是哪种节点类型?》和《js属性节点获取和移除》,下面直接进入正题:js中parentNode和parentElement的区别和用法!

公共html代码:

<!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>

1.用法

parentNode:获取父节点;parentElement:获取父元素

console.log(pp.parentNode);
console.log(pp.parentElement); 

2.共同点:

parentNode和parentElement都可以获取父节点的所有节点属性,可以配合nodeName获取节点名字

console.log(pp.parentNode.nodeName); // DIV
console.log(pp.parentElement.nodeName); //DIV

3.唯一区别:

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

console.log(pp.parentElement.parentElement.parentElement.parentElement.nodeName); //报错:000.html:37 Uncaught TypeError: Cannot read property 'nodeName' of null
console.log(pp.parentNode.parentNode.parentNode.parentNode.nodeName);// #document

4.关于childNodes和children区别

childNodes:获取子节点——返回所有节点的数组,只返回文本和元素节点,对于属性节点直接无视
children:子元素——只返回元素节点

console.log(pp.childNodes);
console.log(pp.children);

childNodes打印结果:

children打印结果:

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
转载请注明来源:js中parentNode和parentElement的区别和用法 - Qui-Note

js中parentNode和parentElement的区别和用法相关推荐

  1. JS中parentNode和parentElement的区别

    参考文章 以一个网页作为例子: <!DOCTYPE html> <html><head><meta charset="UTF-8"> ...

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

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

  3. JS中some和every的区别和用法

    some和every是数组中迭代的方法 相同点:some和every都有三个参数,即item→当前项,index→当前的索引值,array→数组本身:都可以遍历数组 不同点: some相当于逻辑关系中 ...

  4. Js中apply与call的区别与用法

    解析: apply与call是更改对象的内部指针,即改变对象的this指向的内容. call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this.后面的参数都是传递给当前对象的参数 ...

  5. return true Java_[Java教程]js中return,return true,return false的用法及区别

    [Java教程]js中return,return true,return false的用法及区别 0 2015-11-16 23:00:03 1.语法及返回方式 ①返回控制与函数结果 语法为:retu ...

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

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

  7. JS中 let 和var的区别

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

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

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

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

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

最新文章

  1. 打开线程 | 进程 | 协程的大门
  2. permutation_importance是什么?背后的思想又是什么?是如何使用permutation_importance计算特征重要度的?
  3. 并发编程之——读锁源码分析(解释关于锁降级的争议)
  4. 汉仪尚巍手书_官宣,汉仪字库入选“十大著作权合作伙伴”啦!
  5. Linux常用指令收集
  6. Win7共享文件夹简单?这个共享问题可以难倒90%的人
  7. 干货总结:SPI总线详细要点
  8. windows修改PowerShell(命令提示符)默认中文编码方式
  9. SpringBoot时间戳与MySql数据库记录相差14小时排错
  10. 8个jQuery Mobile基础教程
  11. vue element-ui只有一条信息时默认选中按钮,且不能取消,多条信息时可以手动选择
  12. 转载:Oracle导入导出命令的使用
  13. 杰奇小说2.3独家定制版淡绿唯美模板自动采集关关采集器带WAP
  14. 使用ASP.NET快速开发平台,获得表单源码,用珍藏资料换来的代码生成器!
  15. vue中小写数字转换为大写数字
  16. unity 蒙皮混合权重
  17. html5是什么意思,html5是什么意思?
  18. eSDK BYOD水印功能使用说明
  19. 电脑A和电脑B建立通信,这就是网络。IO、中断、缓冲区这都不是研究网络时该关心的事
  20. 记录一下润乾报表填报的制作

热门文章

  1. template的使用
  2. U盘恢复出厂 (使用U盘装机大师
  3. 说说你理解的分布式数据库
  4. 我战地日记的第一贴,占地方
  5. 网络优化工程师这个职业怎么样
  6. 交学费不可怕,就怕不长记性
  7. JS—字符串切割截取
  8. LED开关电源与普通开关电源有什么区别
  9. “华为杯”研究生数学建模竞赛2020年-【华为杯】B题:降低汽油精制过程中的辛烷值损失模型(附优秀论文及python代码)
  10. 【JavaScript】面向对象、原型和原型链、继承