DOM2

DOM
1. 结点属性
  • nodeType

    • 只读
    • 元素节点的 nodeType 返回值为 1
    • 属性节点的 nodeType 返回值为 2
    • 文本节点的 nodeType 返回值为 3
  • nodeName

    • 只读
    • 元素节点的 nodeName 与标签名相同,返回标签名为大写标签名
    • 属性节点的 nodeName 与属性名相同
    • 文本节点的 nodeName 始终是 #text
  • nodeValue

    • 元素节点的 nodeValue 是 undefined 或 null

    • 属性节点的 nodeValue 是属性值

    • 文本节点的 nodeValue 是文本本身

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<h1>我是标题1</h1>
	<a href="demo.html" id="list">我是超链接</a>
	<script type="text/javascript">
		var list=document.getElementById("list");
		var href=list.getAttributeNode('href')
		var text=list.firstChild;
		console.log("元素结点:");
		console.log(list);
		console.log(list.nodeType);
		console.log(list.nodeName);
		console.log(list.nodeValue);
		console.log("属性结点:");
		console.log(href);
		console.log(href.nodeType);
		console.log(href.nodeName);
		console.log(href.nodeValue);
		console.log("文本结点:");
		console.log(text);
		console.log(text.nodeType);
		console.log(text.nodeName);
		console.log(text.nodeValue);
	</script>
</body>
</html>
2. 结点操作
2.1 添加结点
  • 生成结点

  • 添加结点

    • 向父节点的末尾添加:node.appendChild( newNode ) //父节点节点对象的一个方法
    • 在已有子节点前插入一个新的子节点:node.insertBefore( new, old )
元素类型生成节点向父节点的末尾添加向已有子节点前插入一个新节点
元素document.createElement(“元素名称”)node.appendChild(newNode)node.insertBefore(new,old)
文本document.createTextNode(“文本内容”)同上同上
	<ul>
		<li><a href="">我是列表第一项</a></li>
		<li><a href="">我是列表第二项</a></li>
		<li><a href="">我是列表第三项</a></li>
		<li><a href="">我是列表第五项</a></li>
	</ul>
	<script type="text/javascript">
		var node=document.getElementsByTagName("ul")[0];//注意**下标**
		var old=node.lastElementChild;//注意是最后一个**元素**子结点
		var list4=document.createElement("li");
		var a4=document.createElement("a");
		a4.setAttribute("href","");
		var text4=document.createTextNode("我是列表第四项");
		a4.appendChild(text4);
		list4.appendChild(a4);

		node.insertBefore(list4,old);
	</script>
2.2 删除元素、文本节点
  • parentNode.removeChild(childNode);
  • 找到要删除元素的父节点,点前面写要删除元素的父节点,括号里面传入要删除的元素
2.3 修改元素/文本节点
  • oldNode.parentNode.replaceChild(newNode,oldNode)
    旧节点的父节点
  • 步骤:
    • 创建新节点
    • 找到旧节点
    • 从父节点角度出发,使用replaceChild(新,旧)方法来替换
<ul id="is">
	<li>苹果</li>
	<li>香蕉</li>
	<li>西瓜</li>
</ul>
var textnode-document.createTextNode("荔枝");
var parent=document.getElementById("is").childodes[0];
var old=parent.childNodes[0];
parent.replaceChild(textnode,old);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值