JavaScript HTML DOM 元素(節(jié)點(diǎn))
創(chuàng)建HTML元素
var newEle =document.createElement(p);
創(chuàng)建的元素追加到別的元素之后:
A. appendChild(B): 若B是新建的元素,在A元素的所有子元素的末尾增加元素B 。
若B頁(yè)面中已存在的元素,則這句語(yǔ)句產(chǎn)生的效果是將B元素移動(dòng)到了A的子元素中。
appendChild() 這個(gè)函數(shù)和innerHTML這個(gè)屬性的效果差不多,區(qū)別在:
1 ? innerHTML運(yùn)行效果會(huì)比appendChild慢(也許是需要解析的原因)?
2 ? innerHTML比appendChild要方便些,像寫字符串似的
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <div id="div1"> <p id="p1">這是一個(gè)段落。</p> <p id="p2">這是另一個(gè)段落。</p> </div> <script> var para=document.createElement("p"); var node=document.createTextNode("這是一個(gè)新段落。"); para.appendChild(node); var element=document.getElementById("div1"); element.appendChild(para); </script> </body> </html>
例子解析:?
這段代碼創(chuàng)建新的
元素:
var para=document.createElement("p");
如需向
元素添加文本,您必須首先創(chuàng)建文本節(jié)點(diǎn)。這段代碼創(chuàng)建了一個(gè)文本節(jié)點(diǎn):
var node=document.createTextNode("這是一個(gè)新段落。");
然后您必須向
元素追加這個(gè)文本節(jié)點(diǎn):
para.appendChild(node);
最后您必須向一個(gè)已有的元素追加這個(gè)新元素。
這段代碼找到一個(gè)已有的元素:
var element=document.getElementById("div1");
以下代碼在已存在的元素后添加新元素:
element.appendChild(para);
刪除HTML元素
removechild 函數(shù)可以刪除父元素的指定子元素。
如果此函數(shù)刪除子節(jié)點(diǎn)成功,則返回被刪除的節(jié)點(diǎn),否則返回null。
語(yǔ)法結(jié)構(gòu):
fatherObj.removeChild(childrenObj)
參數(shù)解釋:
1.fatherObj:要?jiǎng)h除子元素的元素對(duì)象。
2.childrenObj:要被刪除的子元素對(duì)象。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <div id="div1"> <p id="p1">這是一個(gè)段落。</p> <p id="p2">這是另一個(gè)段落。</p> </div> <script> var parent=document.getElementById("div1"); var child=document.getElementById("p1"); parent.removeChild(child); </script> </body> </html>
實(shí)例解析?
這個(gè) HTML 文檔含有擁有兩個(gè)子節(jié)點(diǎn)(兩個(gè) <p> 元素)的 <div> 元素:
<div id="div1"> <p id="p1">這是一個(gè)段落。</p> <p id="p2">這是另一個(gè)段落。</p> </div>
找到 id="div1" 的元素:
var parent=document.getElementById("div1");
找到 id="p1" 的
元素:
var child=document.getElementById("p1");
從父元素中刪除子元素:
parent.removeChild(child);