<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 newNodeTXT=document.createTextNode("JavaScript");
newNode.appendChild(newNodeTXT);
var Otext=document.getElementsByTagName("div");
var oNode=Otext.firstChild;
Otext.replaceChild(oNode,newNode);
}
</script>
</body>
<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 newNodeTXT=document.createTextNode("JavaScript");
newNode.appendChild(newNodeTXT);
var Otext=document.getElementsByTagName("div")[0]; //这里用标签名获取的是一个数组,注意这 //Elements,复数标签的意思,这个数组下标从0 //开始,这里要取的也是第0个标签(就是第一个)
var oNode=Otext.firstChild;
Otext.replaceChild(newNode,oNode); //然后是这个函数你写反了,第一个参数是新节点, //第二个参数才是是旧节点
}
</script>
</body>
Otext是个长度为0的数组,可以console.log一下查看,所以oNode=Otext[0].firstChild,替换的话,需要在b标签的上一级中把b标签换成i标签
<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 newNodeTXT=document.createTextNode("JavaScript");
newNode.appendChild(newNodeTXT);
var Otext=document.getElementsByTagName("div");
var oNode=Otext[0].firstChild;
oNode.parentNode.replaceChild(newNode,oNode);
}
</script>
</body>