前幾天作了一個js的面試題,第一題就是要求在兩個div中間插入一個div節點,居然蛋疼的一緊張沒作出來,只寫出了思路,今天把代碼寫在這裏,權當鞭策本身!! html結構以下: javascript
<div> <div id=」1″></div> <div id=」2″></div> <div id=」3″></div> </div> html
方法1:能夠用js自帶的insertBefore()將新節點插入2以前: java
<script type="text/javascript"> var oTest = document.getElementById("1").parentNode; var newNode = document.createElement("div"); newNode.innerHTML = "This is a test"; var t=document.getElementById("2"); oTest.insertBefore(newNode,t); </script>方法2:構建insterAfter()函數,將節點插入1以後: 面試
<script type="text/javascript"> function insterAfter(a,b) { if(b.parentNode.lastChild==b) { b.parentNode.appendChild(a); } else { b.parentNode.insertBefore(a,b.nextsibling); } } var newNode = document.createElement("div"); newNode.innerHTML = "This is a test"; var t=document.getElementById("1"); insterAfter(newNode,t); </script>