<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>层级关系查找元素</title></head><body><div id = "div">hello<ul id = ""><li>li1</li><li>li2</li><li>li3</li><li>li4</li></ul></div><br /><ul id = "ul"><li>li1</li><li>li2</li><li>li3</li><li>li4</li></ul><script type="text/javascript">//父级查找子级 function getElement(){var div = document.getElementById("div");//得到div下面所有节点var elements = div.childNodes;//现在得到ul下面的所有childNodes,就是所有li div有 0,1,2 三个子节点 var lis1 = elements[1].childNodes;for (var i = 0 ; i < lis1.length;i ++){document.write(lis1[i].nodeName + " " + lis1[i].nodeType);}document.write("<hr />");//ul 下的所有元素节点,即四个livar lis2 = elements[1].children;for (var i = 0 ; i < lis2.length;i ++){document.write(lis2[i].nodeName + " " + lis2[i].nodeType + " "+ lis2[i].innerText + "<br />");}}//子级查找父级,父节点function parents(){var div = document.getElementById("div");var p = div.parentNode;//bodyvar pp = p.parentNode;//htmlvar ppp = pp.parentNode;//nodeType 9,nodeName documentvar v = div.parentElement;//父节点名alert(ppp.nodeType + ppp.nodeName + pp.innerHTML)}//创建元素图片function create(){var img = document.createElement("img");img.src = "../b1.gif";document.body.appendChild(img);}//移除元素function del1(){var ul = document.getElementById("ul");var lis = ul.children;ul.removeChild(lis[0]);}</script><button onclick="getElement()">find my son</button><button onclick="parents()">find my father</button><button onclick="create()">create a element</button><button onclick="del1()">del</button></body>
</html>

阴影是div的第一个文本节点,占位nodeType为3

阴影是div的第二个元素节点,占位nodeType为1

阴影是div的第三个文本节点,占位nodeType为1

以上是针对childNodes ,如果是children 就不包含文本节点了。

getElement()的结果

Conclusion:
根节点,父节点,子节点,兄弟节点

nodeType 1 表示 (标签)元素节点 ; 2 表示属性节点 ;3 表示文本节点

firstChild 第一个节点,包括文本节点; lastChild 最后一个节点 包含文本节点
firstElementChild 第一个元素节点; lastElementChild 最后一个元素节点 是元素!!!!

详解html结构之间的各个关系,层级关系(以列表为例)相关推荐

  1. 详解127.0.0.1和localhost的关系和区别

    详解127.0.0.1和localhost的关系和区别 前情: 周三有同事突然问 127.0.0.1和localhost有什么不同吗,正好利用这个机会整理一下,这个虽然是大家常见的知识点,但是估计很多 ...

  2. JDK中的Timer和TimerTask详解 目录结构: Timer和TimerTask 一个Timer调度的例子 如何终止Timer线程 关于cancle方式终止线程 反复执行一个任务 sche

    JDK中的Timer和TimerTask详解 目录结构: Timer和TimerTask 一个Timer调度的例子 如何终止Timer线程 关于cancle方式终止线程 反复执行一个任务 schedu ...

  3. JVM详解——内存结构

    如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:耶瞳空间 一:JVM基本介绍 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,具体实现有很 ...

  4. android 4.2目录结构,关于android的4.2的0文件夹的详解(目录结构挂载分析)

    关于android的4.2的0文件夹的详解 ---- android 4.0 ---- 在galaxy nexus(GN)手机上userdata分区很大,被挂在/data目录,用户的数据通常是放在sd ...

  5. python 线程等待_详解python多线程之间的同步(一)

    引言: 线程之间经常需要协同工作,通过某种技术,让一个线程访问某些数据时,其它线程不能访问这些数据,直到该线程完成对数据的操作.这些技术包括临界区(Critical Section),互斥量(Mute ...

  6. 详解:UML类图符号、各种关系说明以及举例

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | duanxz 来源 | https://www ...

  7. 自定义类型详解:结构体(内存对齐、位段) + 枚举 + 联合

    目录 一.结构体 1.特殊的声明 2.结构体自引用 3.结构体变量的定义和初始化 4.打印结构体 二.==结构体内存对齐== 1.内存对齐 结构体嵌套如何求 为什么存在内存对齐? 2.修改默认对齐数 ...

  8. C语言结构体详解(结构体定义,使用,结构体大小等)

    c语言结构体详解 1.c语言结构体 1.1 结构体基础知识 1.2 结构体声明 1.3 结构体特殊声明 1.4 结构体的自引用 1.5 结构体的大小的计算 1.5.1了解结构体大小计算规则 1.5.2 ...

  9. 【04Vue3 目录结构】VUE3目录结构概述结构详解目录结构的作用注意事项

    Vue3 目录结构教程 目录结构概述 在 Vue3 项目中,通常采用以下目录结构组织代码: ├── public│ └── index.html├── src│ ├── assets│ ├── com ...

最新文章

  1. OpenCV对图像进行尺寸变换
  2. opencv grabcut
  3. python学习--函数例子
  4. jpa mysql查找_jpa查找数据库最新一条消息
  5. c++头文件_51单片机C语言编程知多少:几人不知头文件,你要的干货在这里了
  6. md5与des算法有何不同_到底AI芯片和传统芯片有何区别?
  7. oracle11g服务配置,oracle11g dg broker配置服务的高可用
  8. 《开学第一课》观后感—吕中琪
  9. 12306微信小程序上线 提供余票查询暂不支持购票
  10. JavaEE基础(六)
  11. Android 仿qq 点赞功能
  12. 前端安全——XSS攻击与防御原理详解
  13. Hibernate OneToMany中的mappedBy
  14. MATLAB 提取fig文件中数据的通用方法
  15. mysql是个单用户数据库_MySQL是一个支持单用户的数据库管理系统 答案:×
  16. 华为+android+root权限获取root,如何获得华为手机的root权限?华为root权限获取教程...
  17. 杨承润:世界首席创业家导师杨承润,创业16年,杨承润和他的《慧眼经营思维》
  18. C-021.字符类型char 以及ASCII对照表
  19. 同款蓝牙耳机为什么会串联_大牌奢侈品同款TWS新蓝牙耳机体验
  20. 贪心 CF 333B Chips

热门文章

  1. 前端学习(592):使用snippets辅助debugging
  2. mybatis学习(31):修改部分字段(有外键,先查询,再修改)
  3. html:(10):添加空格和hr
  4. Mint-Ui的mt-search点击选中
  5. stylus之运算符(Operators)
  6. 线程执行一半断了_有的线程它死了,于是它变成一道面试题
  7. 网页实现凭证金额分割线_一位整理过5000个网页书签的大神分享:实用的书签管理方案...
  8. SKYLINE UVALive - 4108
  9. 微信团队分享:微信移动端的全文检索多音字问题解决方案
  10. lua的string.gsub初使用