插入新結點到指定結點的指定位置

<ul>
  <li id="bj" name="beijing">北京</li>
<li id="sh" name="shanghai">上海</li>
<li id="cq" name="chongqing">重慶</li>
</ul>
要求:插入新的節點 <li id="tj" name="tianjin">天津</li> 到<li id="sh" name="shanghai">上海</li>這個節點
(1)如上海節點是最後一個節點插入到該節點的<li id="sh" name="shanghai">上海</li>的後面,
(2)否則插入到該節點的前面

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>插入新結點到指定結點的指定位置</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
       <ul>
  <li id="bj" name="beijing">北京</li>
<li id="cq" name="chongqing">重慶</li>   
<li id="sh" name="shanghai">上海</li>
  </ul>
  </body>
  <script language="JavaScript">
//創建"天津節點"
     var tjElement=document.createElement("li");
tjElement.setAttribute("id","tj");
tjElement.setAttribute("name","tianjin");
var textElement=document.createTextNode("天津");
tjElement.appendChild(textElement);
//獲取"上海"節點
var shElement=document.getElementById("sh");
//獲取上海節點的父節點
var shParentElement=shElement.parentNode;
//獲取上海父節點的最後一個子節點
var lastElement=shParentElement.lastChild;
//如果上海節點==父節點的最後一個子節點,上海就是最後一個子節點,天津節點插入到上海節點的後面
if(shElement==lastElement){
shParentElement.appendChild(tjElement);
}else{
//否則,天津節點插入上海節點的前面
shParentElement.insertBefore(tjElement,shElement);
}
  </script>
</html>
//用IE打開,其他瀏覽器的運行結果有可能是錯的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章