為什么不能使用otest,replaceChild呢,一定得用old.parentNode.replaceChild(.....)?
<!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>是一個很常用的技術(shù),為網(wǎng)頁添加動態(tài)效果。</div>
? <a href="javascript:replaceMessage()"> 將加粗改為斜體</a>
??
? ? <script type="text/javascript">
? ? ? function replaceMessage(){
? ? ? ? ? var otest=document.getElementById("div");
? ? ? ? ? var old=document.getElementById("oldnode");
? var newnode=document.createElement("i");
? newnode.innerHTML="Javascript";
? otest.replaceChild(newnode,old);
? ? ? ?}? ??
? </script>
??
?</body>
</html>
otest.replaceChild(newnode,old);換成:
old.parentNode.replaceChild(newnode,old)就能有加粗換斜體的效果
為什么呢,實在不解
old的父節(jié)點不就是div嗎?
2020-04-13
應(yīng)該是var otest =document.getElementsByTagName("div")[0]才對啊,div是一個元素名,不是一個id,通過元素名來獲取元素,應(yīng)該是用document.getElementByTagName(TagName);才對,你這里寫的是通過id獲取元素的方法,所以是錯誤的,但是你的思路是對的。
2020-04-09
子節(jié)點的控制必須通過父節(jié)點