12_JavaScript_DOM编程_插入节点及自定义的 insertAfter 方法 Posted on 2019-07-20 In javascript Views: 本节我们主要学习如何插入节点…… 我们可以插入一个节点到某个节点的前面: 但是可以拓展到写一个插入到节点后面的函数: dom-10.html 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>插入节点</title> <script type="text/javascript"> //插入节点 window.onload = function(){ var cityNode = document.getElementById("city"); var gameNode = document.getElementById("game"); var bjNode = document.getElementById("bj"); var rlNode = document.getElementById("rl"); var seNode = document.getElementById("se"); //插入到之前的节点 /* alert("test"); //该方法除了插入节点之外,还有移动的功能 cityNode.insertBefore(rlNode, bjNode); //cityNode.insertBefore(newElt, before) //如果需要插入节点到某个节点之后 */ //插入到之后的节点 alert("1"); insertAfter(rlNode, seNode); } function insertAfter(newNode, oldNode){ //判断是否为最后一个节点: var parentNode = oldNode.parentElement; if(parentNode){//如果父节点存在的话 //alert("test"); lastNode = parentNode.lastChild; if(oldNode == lastNode){ parentNode.appendChild(newNode); }else{ nextNode = oldNode.nextSibling; parentNode.insertBefore(newNode, nextNode); } } } </script> </head> <body> <p>你喜欢哪个城市?</p> <ul id="city"><li id="bj" name="BeiJing">北京</li> <li>上海</li> <li>东京</li> <li id="se">首尔</li> </ul> <br><br> <p>你喜欢哪款单机游戏?</p> <ul id="game"> <li id="rl">红警</li> <li>实况</li> <li>极品飞车</li> <li>魔兽</li> </ul> <br><br> gender: <input type="radio" name="gender" value="male"/>Male <input type="radio" name="gender" value="female"/>Female <br><br> name: <input type="text" name="username" value="atguigu"/> </body></html>