<script type="text/javascript">
function replaceMessage(){
var oldnode=document.getElementsTagName("b");
var oldHTML= oldnode.innerHTML;
var newnode=document.createElement("i");
oldnode.parentNode.replaceChild(newnode,oldnode);
newnode.innerHTML=oldHTML;
}
</script>
<script type="text/javascript"> function replaceMessage(){ var oldnode=document.getElementsTagName("b"); // 注1 var oldHTML= oldnode.innerHTML; var newnode=document.createElement("i"); oldnode.parentNode.replaceChild(newnode,oldnode); newnode.innerHTML=oldHTML; } </script>
注1 :getElementsTagName 写错了 正确写法 getElementsByTagName 意思是:返回带有制定标签名的节点的对象的集合。返回元素的顺序是他们在文档的顺序。getElementsByTagName 在这里返回的是一个数组,而我们需要用到的是getElementById, 通过ID获取指定的元素。
正确的写法是
var oldnode=document.getElementById("oldnode");
<script type="text/javascript">
function replaceMessage(){
var oldnode=document.getElementsByTagName("b");
var oldHTML= oldnode[0].innerHTML;
var newnode=document.createElement("i");
oldnode[0].parentNode.replaceChild(newnode,oldnode[0]);
newnode.innerHTML=oldHTML;
}
</script>
getElementsTagName不对,是getElementsByTagName
还有getElementsByTagName得到的是一个数组