DOM节点

 一.dom节点

说明:

父节点、子节点和同胞节点

节点树中的节点彼此拥有层级关系。

父(parent)、子(child)和同胞(sibling)等术语用于描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="root"><p>段落</p><h2>H2</h2><a href="#"id="a">链接</a><h3>标题3</h3></div>
		<hr/>
	</body>
	<script type="text/javascript">
		var a=document.getElementById("a");
		document.write(a.nodeType+"<br/>")//节点类型
		document.write(a.nodeName+"<br/>")//节点名字
		//节点值先找到元素节点,然后再找到元素节点的文本子节点,才可以得到nodeValue
		document.write(a.firstChild.nodeValue+"<br/>");
		document.write(a.firstChild.nodeType+"<br/>");//文本节点
		//上一个节点
		document.write(a.previousSibling.nodeName+"<br/>");//上一个节点
		//下一个节点
		document.write(a.nextSibling.nodeName+"<br/>")//下一个节点
		//父节点
		document.write(a.parentNode.nodeName+"<br/>")//parentNode父节点
		//节点个数
		document.write(a.parentNode.childNodes.length+"<br/>")//hildNodes.length子节点个数
		//第N个字节点
		var parentNode=a.parentNode;//div
		document.write(parentNode.firstChild.nodeName+"<br/>");//firstchild第一个字节点
		document.write(parentNode.lastChild.nodeName+"<br/>");//lastchild最后一个节点
		document.write(parentNode.childNodes[3].nodeName+"<br/>");//childnodes[0]第n个节点
		//判断父节点是否有子节点,如果有请一一输出
		document.write("-------------------------------------------------"+"<br/>")
		var root=document.getElementById("root");
		
		if(root.hasChildNodes()){//hasChildNodes()判断父节点是否有子元素
			for(var i=0;i<root.childNodes.length;i++){
				document.write(root.childNodes[i].tagName+"<br/>")//tagname=nodename
			}
		}
		
		document.write("-----------------------------------------------------------------"+"<br />")
					 document.write(a.parentNode.firstChild.nextSibling.nextSibling.tagName+"<br />")//a
					 document.write("-----------------------------------------------------------------"+"<br />")
					 document.write(a.firstChild.nodeValue+"<br />");//链接
					 //**先找到元素节点,然后再找到元素节点的子节点.nodeValue
					 document.write(a.innerHTML+"<br />")
	</script>
</html>

这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。

在节点树中,顶端节点被称为根(root)

每个节点都有父节点、除了根(它没有父节点)

一个节点可拥有任意数量的子

同胞是拥有相同父节点的节点

:为保证兼容性,书写html的时候必须写成一行

2. nodeType属性 

 

 

<script type="text/javascript">
			var a=document.getElementById("a");
			document.write(a.nodeType+"<br/>")//节点类型
			document.write(a.nodeName+"<br/>")//节点名字
			//节点值先找到元素节点,然后再找到元素节点的文本子节点,才可以得到nodeValue
			document.write(a.firstChild.nodeValue+"<br/>");
			document.write(a.firstChild.nodeType+"<br/>");//文本节点
			//上一个节点
			document.write(a.previousSibling.nodeName+"<br/>");//上一个节点
			//下一个节点
			document.write(a.nextSibling.nodeName+"<br/>")//下一个节点
			//父节点
			document.write(a.parentNode.nodeName+"<br/>")//parentNode父节点
			//节点个数
			document.write(a.parentNode.childNodes.length+"<br/>")//hildNodes.length子节点个数
			//第N个字节点
			var parentNode=a.parentNode;//div
			document.write(parentNode.firstChild.nodeName+"<br/>");//firstchild第一个字节点
			document.write(parentNode.lastChild.nodeName+"<br/>");//lastchild最后一个节点
			document.write(parentNode.childNodes[3].nodeName+"<br/>");//childnodes[0]第n个节点
			//判断父节点是否有子节点,如果有请一一输出
			document.write("-------------------------------------------------"+"<br/>")
			var root=document.getElementById("root");
			
			if(root.hasChildNodes()){//hasChildNodes()判断父节点是否有子元素
				for(var i=0;i<root.childNodes.length;i++){
					document.write(root.childNodes[i].tagName+"<br/>")//tagname=nodename
				}
			}
			
			document.write("-----------------------------------------------------------------"+"<br />")
						 document.write(a.parentNode.firstChild.nextSibling.nextSibling.tagName+"<br />")//a
						 document.write("-----------------------------------------------------------------"+"<br />")
						 document.write(a.firstChild.nodeValue+"<br />");//链接
						 //**先找到元素节点,然后再找到元素节点的子节点.nodeValue
						 document.write(a.innerHTML+"<br />")
		</script>

二 .dom元素方法列表

 使用createElement创建元素节点

使用createTextNode创建文本节点

<script type="text/javascript">
			//插入元素节点的方法
			var pra = document.createElement("p");//01新建元素节点
			var textNode = document.createTextNode("我是新增的文本节点")//02新建文本节点
			pra.appendChild(textNode);//03将文本节点插入到元素节点内
			
			var divobj =document.getElementById("div");//04获取父元素
			divobj.appendChild(pra);//05将新建的子元素插入到父元素
			pra.className="new"
			//document.body.appendChild(div)在body中直接插入
		</script>

2.插入节点

可以使用appendChild,insertBefore,

appendChild插入父元素之后

insertBefore 插入参数之前

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值