怎么一回事?
replaceChild这个函数是替换孩子节点,如果不用parentNode.直接用old,这个函数就找不到其孩子节点。
这是更方便的获取父元素,老方法也可以,如下; function replaceMessage(){ var newnode=document.createElement("i"); var newnodeText=document.createTextNode("新内容"); newnode.appendChild(newnodeText); oldnode=document.getElementById("oldnode"); /* var o=document.getElementsByTagName("div"); o[0].replaceChild(newnode,oldnode);*/ oldnode.parentNode.replaceChild(newnode,oldnode); }