 
		艾零
2017-07-26 10:09
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";
       }
这是怎么回事?
 
				function replaceMessage(){
var newnode = document.createElement("i");
newnode.innerHTML=document.getElementById("oldnode").innerHTML;
var oldNode = document.getElementById("oldnode");
oldNode.parentNode.replaceChild(newnode,oldNode);
}
我服了 慕课框架问题还是缓存机制问题 这又行了。
JavaScript进阶篇
469067 学习 · 22582 问题
相似问题