<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);
//newnode.innHTML = "JavaScript";
//console.log(newnode);
var oldnode = document.getElementById("oldnode");
oldnode.parentNode.replaceChild(newnode,oldnode);
}我试了用innerHTML是可以的
用newnode.innerHTML="JavaScript"其实也是可以实现的。innerHTML和createTextNode都可以把一段内容添加到一个节点中,区别是如果这段内容中有html标签(如你的例子中的)时表现就不同了,在createTextNode中会当作文本处理,不会被浏览器解析
createTextNode() 方法创建新的文本节点,而newnode.innHTML = "JavaScript";还是那个元素结点,只是值变成了 "JavaScript