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

<!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 最后一个元素节点 是元素!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 242 有效的字母异位词 C++

和赎金信的思路一样 我想我本科时光是找不到女朋友了&#xff0c;哪怕是一个异性的好朋友也不会有了&#xff0c;男女比例4&#xff1a;1&#xff0c;哼 class Solution { public:bool isAnagram(string s, string t) {int table2[26]{0};for(char a:t){table2[a-a];}for(char…

1058. A+B in Hogwarts (20)

1058. AB in Hogwarts (20) 时间限制50 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueIf you are a fan of Harry Potter, you would know the world of magic has its own currency system -- as Hagrid explained it to Harry, "Seventeen silve…

jquery post 同步异步总结

最近在测试,发现有些效果不对,最后发现是post的执行顺序问题,所以研究了下,写了以下总结 1.post被请求多次,解决方法: 连接加入随机数 rand""Math.random() $.post("/Control/webControl.ashx?rand "Math.random(), { Method: "LoginIn", Parem…

js对html节点的操作

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><style></style><script>function copy(){//克隆节点//1&#xff0c;得到要克隆的divvar div document.body.firstElementChild;//2,复制…

leetcode 141 环形链表 C++

两种方法一个空间O(n)&#xff0c;另一个O(1)&#xff0c;时间都是O(n)。 one class Solution { public:bool hasCycle(ListNode *head) {unordered_set<ListNode*>set;while(head){if(set.count(head))return true;set.insert(head);headhead->next;}return false;}…

1056. Mice and Rice (25)

1056. Mice and Rice (25) 时间限制100 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueMice and Rice is the name of a programming contest in which each programmer must write a piece of code to control the movements of a mouse in a given map…

Java poi读取,写入Excel2003

Java poi读取,写入Excel2003 相关阅读&#xff1a;poi读写Excel2007:http://www.cnblogs.com/gavinYang/p/3576741.htmljxl读写excel2003/2007:http://www.cnblogs.com/gavinYang/p/3576819.html package com.gavin.operational.excle;import java.io.FileInputStream; import …

leetcode 21 合并两个有序链表 C++

因为迭代比较好理解 所以我们在这里用递归 class Solution { public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {if(!l1) return l2;else if(!l2) return l1;else if(l1->val<l2->val){l1->nextmergeTwoLists(l1->next,l2);return l1;}else{l2->…

1061. 判断题(15)

1061. 判断题(15) 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue判断题的评判很简单&#xff0c;本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。 输入格式&#xff1a; 输入在第一行给出两个不超过100的正整数N和M&…

css和 js 改变html里面的定位。

css和 js 改变html里面的定位。&#xff08;三种方式&#xff09; <style type"text/css">#div1{border: 1px aquamarine solid;/*固定定位&#xff1a;此元素在整个网页的位置不变,固定某处不动*/position : fixed;left: 20px;top: 10px;}#div2{/*相对定位&am…

终端I/O之行控制函数

下列4个函数提供了终端设备的行控制能力。其中&#xff0c;filedes引用一个终端设备&#xff0c;否则出错返回&#xff0c;errno设置为ENOTTY。 #include <termios.h> int tcdrain(int filedes); int tcflow(int filedes, int action); int tcflush(int filedes, int que…

js 正则表达式实现文本验证

<style>.spa{/*js来改变span颜色*/color: red;}</style><script type"text/javascript">function checkIn(obj){//失去焦点&#xff08;鼠标离开文本框&#xff09;时验证//文本框的值var val obj.value;//拿到文本框的名字&#xff0c;用来做swi…

1060. 爱丁顿数(25)

1060. 爱丁顿数(25) 时间限制250 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力&#xff0c;还定义了一个“爱丁顿数”E&#xff0c;即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的…

leetcode 203 移除链表元素 C++

注意第一个元素的处理方法 今晚还有四个题要做&#xff0c;来不及解释了&#xff0c;上代码 class Solution { public:ListNode* removeElements(ListNode* head, int val) {struct ListNode*prenew ListNode(0,head);struct ListNode*temppre;if(!temp->next) return null…

unity3d由多个部分组成一个角色

摘自http://forum.unity3d.com/threads/16485-quot-stitch-multiple-body-parts-into-one-character-quot So I have many many models. Each has a skeleton, material, etc. I want to take some of these and combine them into one so I can apply animation commands to …

求质数的个数

/我买了一本书&#xff0c;意大利作家 保罗.乔尔达诺 得奖的一本小说&#xff0c;好奇这本书有多少页。但它每页页码都是质数&#xff0c;需求如下&#xff0c;1907页书&#xff0c;每个页数以质数命名&#xff0c;求有多少页。/ package funJoy;public class calBook {public…

leetcode 701 二叉搜索树的插入操作 C++ 递归和迭代

迭代 class Solution { public:TreeNode* insertIntoBST(TreeNode* root, int val) {if(!root) return new TreeNode(val);TreeNode*curroot;while(cur){if(val<cur->val){if(cur->left)curcur->left;else{cur->leftnew TreeNode(val);break;}}else if(val>…

1062. 最简分数(20)

1062. 最简分数(20) 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue一个分数一般写成两个整数相除的形式&#xff1a;N/M&#xff0c;其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。 现给定两个不相等的正分数 N1/M1 和 N2/M…

解决ListView 缓存机制带来的显示不正常问题

ListView加载数据原理:系统绘制ListView时&#xff0c;首先会用getCount&#xff08;&#xff09;函数得到要绘制的这个列表的长度&#xff0c;然后开始逐行绘制。然后调用getView()函数&#xff0c;在这个函数里面首先获得一个View&#xff08;简单item&#xff0c;如字符串或…

Java里面static, final, this, super, 代码块, 单例模式

static关键字 package csdn;public class staticWord {public static void main(String[] args) {funStatic fs1 new funStatic();funStatic.showA();fs1.b 2;fs1.showB(); // 2System.out.println("----------");funStatic fs2 new funStatic();funStatic.a 3…