前提・実現したいこと
「.replaceChild」を使って、タグを書き換えたい。
発生している問題・エラーメッセージ
コンソールに表示されています。
Uncaught (in promise) DOMException: Node.replaceChild: Child to be replaced is not a child of this node
該当のソースコード
html
1 <div id="leftBlock"> 2 <div id="tweetBackList"> 3 </div> 4 </div>
javascript
1 const div1 = document.getElementById("leftBlock"); 2 const old1 = document.getElementById("tweetBackList"); 3 4 const new1 = document.createElement("div"); 5 // new1.setAttribute("id","tweetBackList"); 6 // new1.setAttribute("class","scroll"); 7 // new1.setAttribute("max", maxCount); 8 // if(maxCount >= 2){ 9 // new1.setAttribute("lastnum","1"); 10 // }else if(maxCount = 1){ 11 // new1.setAttribute("lastnum","0"); 12 // } 13 // new1.setAttribute("style","padding: 0.5em 2em;"); 14 15 alert('ここまでは来てる 098'); 16 div1.replaceChild(new1, old1); 17 alert('ここまでは来てる 099');
試したこと
当初、コメントアウトしている行も実行させていましたが、バグを見つけるために、コメントアウトしました。
全てコメントアウトしていなくても、「ここまでは来てる 098」は表示されます。
「ここまでは来てる 099」は表示されませんので、その間の「div1.replaceChild(new1, old1);」がいけないのは見当が付きましたけれど、どう直せばいいのかがわかりません。
教えて下さい。
補足情報(FW/ツールのバージョンなど)
サーバー:ロリポップ
ブラウザ:Firefox 91.0.2 (64 ビット)
クライアント:macOS Mojave 10.14.6
回答1件
あなたの回答
tips
プレビュー