JavaScript中功能自动生成网页元素且可以增删改克隆(按钮,文本等)

创建元素的方法:

1,利用createTextNode()创建一个文本对象

2,利用createElement()创建一个标签对象

3,直接利用容器标签中的一个属性:innerHTML-----本质上改该标签容器中的“html代码”,不是我们认为的对象树的操作

详解:代码

<body>
	<input type="button" value="创建并添加节点1" οnclick="addNode1()"/>
	<input type="button" value="创建并添加节点2" οnclick="addNode2()"/>
	<input type="button" value="创建并添加节点3" οnclick="addNode3()"/>
	<input type="button" value="remove节点1 "  οnclick='removenode()'/>
	<input type="button" value="replaceNode节点2替换 "  οnclick='remove2()'/><!--1替换2,并且1没有保留-->
	<input type="button" value="clone替换 "  οnclick='clone()'/>
    <div id="div_id1">这是div模块--</div>
    <div id="div_id2">必须好好地学习,这样才能让自己有很好的回报</div>
    <div id="div_id3">好好干,加油↖(^ω^)↗</div>
    <div id="div_id4">你懂得区域,实验区域</div>
	
	
  </body>

方式一  创建文本文档

<span style="font-size:18px;">function addNode1(){
			//1利用createTextNode()创建一个文本对象
			var text=document.createTextNode("这是修改的,创建的文档");
			//2获取div对象
			var node1=document.getElementById("div_id1");
			//添加成div对象的孩子
			node1.appendChild(text);}</span><span style="font-size:24px;">
</span>

方式利用createElement()创建一个标签对象

function addNode2(){
			//1,利用createElement()创建一个标签对象
			var nn=document.createElement("input");
			nn.type="button"
			nn.value="创建的按钮";
			nn.target="_blank";
			//2,获得div对象
			var node2=document.getElementById("div_id2");
			//添加成div对象的孩子
			node2.appendChild(nn);
		}

方式三:直接利用容器标签中的一个属性:innerHTML-----本质上改该标签容器中的“html代码”,不是我们认为的对象树的操作

function addNode3(){
				var mm=document.getElementById("div_id3");
				mm.innerHTML="<a href='http://www.baidu.com'><input type='button' value='新建的按钮'></a>";
				}

删除节点 使用 removeNode 和 removeChild 从元素上删除子结点两种方法,通常采用第二种方法 

function removenode(){
			var node =document.getElementById("div_id4");
//			alert(node.nodeName);//DIV
//		自杀式	node.removeNode(true);  //removeNode 从文档层次中删除对象。ie可以出现现象,一般不采用自杀式
			node.parentNode.removeChild(node);通过父节点去删除它的孩子,一般常用
			alert("aa");
		}

替换 没有保留替换的那个

function remove2(){
			var node1 =document.getElementById("div_id1");
			var node2 =document.getElementById("div_id2");
//			node1.replaceNode(node2);//自杀式不通用
通过父节点去替换它的孩子:用node1去替换node2
			node1.parentNode.replaceChild(node1,node2);//object.replaceChild(oNewNode, oChildNode)
		}

clone节点

	function clone(){
			var node1 =document.getElementById("div_id1");
			var node2 =document.getElementById("div_id2");
			var node1_2=node1.cloneNode(true);//false只能clone基本的,不会clone下面的其他子节点
			//克隆一个对象,默认参数为false。参数为true时,连子节点一起克隆
			node1.parentNode.replaceChild(node1_2,node2);
		}

效果图:


全部的源代码:
<!DOCTYPE html>
<html>
  <head>
    <title>DOM_operation.html</title>
	<style type="text/css">
		div{
			border:#00f solid 1px;
			width:200px;
			height:100px;
		}
	</style>
	<script type="text/javascript">
//AAAA  增	
		//方式一  创建文本文档
		function addNode1(){
			//1利用createTextNode()创建一个文本对象
			var text=document.createTextNode("这是修改的,创建的文档");
			//2获取div对象
			var node1=document.getElementById("div_id1");
			//添加成div对象的孩子
			node1.appendChild(text);
		}
		
		function addNode2(){
			//1,利用createElement()创建一个标签对象
			var nn=document.createElement("input");
			nn.type="button"
			nn.value="创建的按钮";
			nn.target="_blank";
			//2,获得div对象
			var node2=document.getElementById("div_id2");
			//添加成div对象的孩子
			node2.appendChild(nn);
		}
		
		//直接利用容器标签中的一个属性:innerHTML-----本质上改该标签容器中的“html代码”,不是我们认为的对象树的操作
		function addNode3(){
				var mm=document.getElementById("div_id3");
				mm.innerHTML="<a href='http://www.baidu.com'><input type='button' value='新建的按钮'></a>";
				
		}
//BBBBBB-------删		
		//删除节点 使用 removeNode 和 removeChild 从元素上删除子结点两种方法,通常采用第二种方法 
		function removenode(){
			var node =document.getElementById("div_id4");
//			alert(node.nodeName);//DIV
//		自杀式	node.removeNode(true);  //removeNode 从文档层次中删除对象。ie可以出现现象,一般不采用自杀式
			node.parentNode.removeChild(node);通过父节点去删除它的孩子,一般常用
			alert("aa");
		}
		//替换 没有保留替换的那个
		function remove2(){
			var node1 =document.getElementById("div_id1");
			var node2 =document.getElementById("div_id2");
//			node1.replaceNode(node2);//自杀式不通用
通过父节点去替换它的孩子:用node1去替换node2
			node1.parentNode.replaceChild(node1,node2);//object.replaceChild(oNewNode, oChildNode)
		}
		function clone(){
			var node1 =document.getElementById("div_id1");
			var node2 =document.getElementById("div_id2");
			var node1_2=node1.cloneNode(true);//false只能clone基本的,不会clone下面的其他子节点
			//克隆一个对象,默认参数为false。参数为true时,连子节点一起克隆
			node1.parentNode.replaceChild(node1_2,node2);
		}
	</script>
  </head>
  
  <body>
	<input type="button" value="创建并添加节点1" οnclick="addNode1()"/>
	<input type="button" value="创建并添加节点2" οnclick="addNode2()"/>
	<input type="button" value="创建并添加节点3" οnclick="addNode3()"/>
	<input type="button" value="remove节点1 "  οnclick='removenode()'/>
	<input type="button" value="replaceNode节点2替换 "  οnclick='remove2()'/><!--1替换2,并且1没有保留-->
	<input type="button" value="clone替换 "  οnclick='clone()'/>
    <div id="div_id1">这是div模块--</div>
    <div id="div_id2">必须好好地学习,这样才能让自己有很好的回报</div>
    <div id="div_id3">好好干,加油↖(^ω^)↗</div>
    <div id="div_id4">你懂得区域,实验区域</div>
	
	
  </body>
</html>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值