JS中利用dom实现追加与插入

    都是圈内人士了,咱就直接进入主题吧....  ^_^  ^_^

        Node对象有insertBefore(newChild, 被引用Child)和appendChild(newChild)两个方法用来插入结点。

       appendChild(newChild)方法作为某结点的方法来调用,在该结点的子结点列表的结尾添加一个newChild.

      insertBefore(newChild, 被引用的0Child)制定在 被引用Child之间插入一个newChild. 在实际应用中,需要访问某个结点的双亲结点,已获得insertBefore()方法必要的信息。
   

<html>

<head>

<title>结点插入与追加</title>
<script type="text/javascript">
<!--
   function makeNode(str)  //创建结点函数
   {
      var newParagraph = document.createElement("p");  //创建新元素p
      var newText = document.createTextNode(str);   //创建新文本
      newParagraph.appendChild(newText);  //追加一个新的子结点
      return newParagraph;  //返回该段落
   }
  
   function appendBefore(nodeId, str)  //前插入函数
   {
      var node = document.getElementById(nodeId);
      var newNode = makeNode(str);
      if(node.parentNode)   //如果存在双亲结点
      {
         node.parentNode.insertBefore(newNode, node);  //在当前节结点前插入新结点
      }
   }
  
   function insertWithin(nodeId, str)  //中插入函数
   {
      var node = document.getElementById(nodeId);
      var newNode = makeNode(str);
      node.appendChild(newNode);  //追加一个新的结点
   }
  
   function appendAfter(nodeId, str)    //后插入函数
   {
      var node = document.getElementById(nodeId);
      var newNode = makeNode(str);
      if(node.parentNode)    //如果存在双亲结点
      {
         if(node.nextSibling)  //如果存在下一子结点
         {
              //前插入子结点
            node.parentNode.insertBefore(newNode, node.nextSibling);
         }else  //如果没有下一子结点
             //后追加子结点
         node.parentNode.appendChild(newNode);
      }
   }
//-->
</script>

</head>

<body>
<h1><center> DOM插入与追加</center></h1>
<hr>
<div style="background-clolor: #66ff00;">
   <div id="innerDiv" style="background-color:#ffcc00;"></div>
</div>
<hr>

<form id="form1" name="form1" action="#" method="get">
   <input type="text" id="field1" name="field1">
   <input type="button" value="前插入" onclick="appendBefore('innerDiv', document.form1.field1.value);">
     <input type="button" value="中插入" onclick="insertWithin('innerDiv', document.form1.field1.value);">
       <input type="button" value="后插入" onclick="appendAfter('innerDiv', document.form1.field1.value);">
</form>

</body>

</html>

你可能感兴趣的:(dom)