<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<div><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div>
<a href="javascript:replaceMessage()"> 将加粗改为斜体</a>
<script type="text/javascript">
function replaceMessage(){
var newnode=document.createElement("i");
var newnodeText=document.createTextNode("javaScript");
newnode.appendChild(newnodeText);
var oldnode=document.getElementById("oldnode");
oldnode.parentNode.replaceChild(newnode,oldnode);
var oldnodeText=document.createTextNode("nihahahha");
oldnode.appendChild(oldnodeText);
}
</script>
</body>
</html>
我跟你说哈,虽然不是很懂你想干嘛,既然新节点替换了旧节点那么旧节点就不会再body结构里了,就不会有显示了,你加点什么东西进去当然看不出什么区别,如果你想看去别的话,可以旧节点再换新节点,也可以body或其他地方添加子节点
你没有返回旧的结点,所以旧结点被删除了,你可以
var a=oldnode.parentNode.replaceChild(newnode,oldnode)
来获取旧结点,然后用a.innerHTML来修改你想换的内容