前言
在文檔對象模型 (DOM) 中,每個節點都是一個對象。DOM 節點有三個重要的屬性 :
1. nodeName : 節點的名稱
2. nodeValue :節點的值
3. nodeType :節點的類型
節點類型:元素 1 ,屬性 2 ,文本 3 ,注釋 8,文檔 9。
一、添加和刪除節點(HTML 元素)
1、創建節點
1)創建該元素(元素節點);
2)向一個已存在的元素追加該元素。
語法:appendChild(newnode)
eg:
<div id="div1">  <p id="p1">這是一個段落</p>  <p id="p2">這是另一個段落</p></div><script>  var para=document.createElement("p");  var node=document.createTextNode("這是新段落。");  para.appendChild(node);  var element=document.getElementById("div1");  element.appendChild(para);</script>document.createElement("標簽名"); // 創建元素節點
document.createTextNode("文本"); //創建文本節點
appendChild(); //方法向節點添加最后一個子節點。也可以使用 appendChild() 方法從一個元素向另一個元素中移動元素。 用法:a.appendChild(b),把b添加到a內。
2.添加節點
appendChild(); //在指定節點的最后一個子節點列表之后添加一個新的子節點。
語法,eg:同上。
insertBefore(); //insertBefore() 方法可在已有的子節點前插入一個新的子節點。
語法:insertBefore(newnode,node);
eg:
<ul id="test">  <li>JavaScript</li>  <li>HTML</li></ul>  <script type="text/javascript">   var otest = document.getElementById("test");    var newli = document.createElement("li");   newli.innerHTML="php";   //otest.insertBefore(newli,otest.lastChild);   otest.insertBefore(newli,otest.childNodes[1]);</script>3.刪除節點
removeChild() //removeChild() 方法從子節點列表中刪除某個節點。如刪除成功,此方法可返回被刪除的節點,如失敗,則返回 NULL。
語法:nodeObject.removeChild(node)
eg:
<div id="div1">  <p id="p1">這是一個段落。</p>  <p id="p2">這是另一個段落。</p></div><script>  var parent=document.getElementById("div1");  var child=document.getElementById("p1");  parent.removeChild(child);</script>DOM 需要清楚需要刪除的元素,以及它的父元素。先找到希望刪除的子元素,然后使用其 parentNode 屬性來找到父元素。
4.替換節點
replaceChild //把一個給定父元素里面的一個子節點替換為另一個子節點。
語法:referencre = element.replaceChild(newChild,oldChild); //newChild: 必需,用于替換 oldChild的對象。 oldChild: 必需,被 newChild替換的對象。
eg:
<div>  <b id="oldnode">JavaScript</b>是一個很常用的技術,為網頁添加動態效果。</div>  <a href="javascript:replaceMessage()" rel="external nofollow" > 將加粗改為斜體</a>   <script type="text/javascript">    function replaceMessage(){      var b=document.getElementById("oldnode");      var newNode=document.createElement("i");      newNode.innerHTML=b.innerHTML;      b.parentNode.replaceChild(newNode,b);    }   </script>            
新聞熱點
疑難解答
圖片精選