JS:标签类名的操作方法(代码)

<div id="box">
			
		</div>
		<button type="button" id="btn">appendChild剪切</button>
		<button type="button" id="btn2">insertBefore剪切</button>
		<button type="button" id="btn3">replaceChild剪切</button>
		<div id="newchild">
			这是已经存在的,将我插入到div#id中后,我将被删除.如同剪切
		</div>
		<div id="replaceChildId">
			一会我就会被replaceChild()替换掉
		</div>
		<button type="button" id="btn4">removeChild删除</button>
		<button type="button" id="btn5">remove删除</button>
		<div id="removeChildId">
			我是要被removeChild()删除的
		</div>
		<div id="cloneNodeId" onclick="alert(this.nodeName);" style="padding: 20px;border: 1px solid blue;">
			我是用来判定是深复制还是浅复制
			<button type="button" id="btn6">复制</button>
		</div>
		<div id="cloneDiv1">
		</div>
		<div id="cloneDiv2">
		</div>
		<script>
			
			console.group("1.标签节点操作方法");
				(function(){
					var box=document.querySelector("#box");
					fgx("1.document.creatElement():");
					var ceDiv=document.createElement("div");//通过指定名称创建一个元素
					console.log("ceDiv:",ceDiv);
					var ceDiv2=document.createElement("div2");//通过指定名称创建一个元素
					console.log("ceDiv2:",ceDiv2);
					
					fgx("2.document.creatTextNode():");
					var ctText=document.createTextNode("通过js创建的文本节点");//创建文本节点
					console.log("ctText:",ctText);
					
					fgx("3.element.appendChild():");
					ceDiv.appendChild(ctText);//可向节点的子节点列表的末尾添加新的子节点。
					console.log("ceDiv:",ceDiv);
					box.appendChild(ceDiv);//可向节点的子节点列表的末尾添加新的子节点。
					console.log("box:",box);
					
					fgx("appendChild剪切");
					var btn=document.querySelector("#btn");
					btn.onclick=function(){
						var newchild=document.querySelector("#newchild");
						console.log("newchild:",newchild);
						box.appendChild(newchild);
					}
					
					fgx("4.element.insertBefore(newnode,existingnode):");
					var ceP=document.createElement("p");
					ceP.append("通过append可以直接添加string,但有兼容性问题","2");//存在兼容性问题//存在兼容性问题
					var br=document.createElement("br");
					ceP.appendChild(br);
					var ctText2=document.createTextNode("通过createTextNode创建");
					ceP.appendChild(ctText2);
					var boxDiv=document.querySelector("#box>div:nth-child(1)");
					box.insertBefore(ceP,boxDiv);//方法可在已有的子节点前插入一个新的子节点
					
					fgx("insertBefore剪切");
					var btn2=document.querySelector("#btn2");
					btn2.onclick=function(){
						box.insertBefore(newchild,boxDiv);
					}
					
					fgx("5.element.replaceChild(newnode,oldnode):");
						var t=setTimeout(function(){
							var replaceChildId=document.querySelector("#replaceChildId");
							var repDiv=document.createElement("div");
							var repText=document.createTextNode("repacleChild替换原来内容");
							repDiv.appendChild(repText)
							var body=document.querySelector("body");
							body.replaceChild(repDiv,replaceChildId);//body是replaceChildId的父节点.
						},3000);
					fgx("replaceChild剪切");
					var btn3=document.querySelector("#btn3");
					btn3.onclick=function(){
						box.replaceChild(newchild,boxDiv);
					}
					
					fgx("6.element.removeChild(node):");
					var btn4=document.querySelector("#btn4");
					var btn5=document.querySelector("#btn5");
					var removeChildId=document.querySelector("#removeChildId");
					btn4.onclick=function(){
						removeChildId.parentNode.removeChild(removeChildId);//通过父元素移除自己
					}
					fgx("7.remove()");
					btn5.onclick=function(){
						removeChildId.remove();//可以移除自己
						this.remove();//可以移除自己
					}
				}());
			console.groupEnd();
			
			console.group("2.DOM.cloneNode(boolean)");
				(function(){
					var dom=document.querySelector("#cloneNodeId");
					var domDiv1=document.querySelector("#cloneDiv1");
					var domDiv2=document.querySelector("#cloneDiv2");
					var newDom1=dom.cloneNode(true);
					var newDom2=dom.cloneNode(false);//默认是false
					console.log("newDom1:",newDom1);
					console.log("newDom2:",newDom2);
					domDiv1.appendChild(newDom1);
					domDiv2.appendChild(newDom2);
					
					var btn6=document.querySelector("#btn6");
					btn6.onclick=function(){
						alert(this.nodeName);
					}
					
				}());
			console.groupEnd();
			
			function fgx(str){
				if(str==undefined){
					str="";
				}
				console.log(str+"------------------------");
			}
		
		</script>

上一篇:最长M字段和(1052 1115 1053)


下一篇:jetbrains IDEA/pycharm修改代码提示框配色