replace()替换时新子节点的内容的创建方法
function replaceMessage(){
var newnode = document.createElement("i");
/*newnode.innerHTML=document.getElmentById("oldnode").innerHTML;*/
var newnodeText = document.createTextNode("JavaScript");
newnode.appendChild(newnodeText);
var oldNode = document.getElementById("oldnode");
oldNode.parentNode.replaceChild(newnode,oldNode);
}
为什么替换时要创建一个文本节点,并将其插入到替换的节点后。我换种方法直接利用新节点的innerHTML属性设置设置文本内容不行?
function replaceMessage(){
var newnode = document.createElement("i");
newnode.innerHTML=document.getElmentById("oldnode").innerHTML;
/* var newnodeText = document.createTextNode("JavaScript");
newnode.appendChild(newnodeText); */
var oldNode = document.getElementById("oldnode");
oldNode.parentNode.replaceChild(newnode,oldNode);
}
而我在替换完成之后,又可以利用innerHTML改变内容了。
function replaceMessage(){
var newnode = document.createElement("i");
/* newnode.innerHTML=document.getElmentById("oldnode").innerHTML;
var newnodeText = document.createTextNode("JavaScript");
newnode.appendChild(newnodeText); */
var oldNode = document.getElementById("oldnode");
oldNode.parentNode.replaceChild(newnode,oldNode);
}
function replace(){
var node = document.getElementsByTagName("i");
node[0].innerHTML="JavaScript";
}
这是怎么回事?