前提
JavaScriptでのtodoリストの作成をしたいです。
そのうちのフォームに文字を入力してその文字をtodo一覧に追加する過程でのエラーです。
おそらくはappendChildで生成したタグとそのタグがあるクラスの配下置かれる処理で前後が逆転していることが原因だと思います。ですが、原因がわからないためアドバイスをお願いしたいです。
実現したいこと
フォームに文字を入力してその文字をtodo一覧に追加したい
発生している問題・エラーメッセージ
Uncaught TypeError: Cannot read properties of null (reading 'appendChild')
該当のソースコード
<body class="container"> <div class="input-area"> <input id="add-text" placeholder="TODOを入力"> <button id="add-button">追加</button> </div> <div class="imcompleted-area"> <p class="title">未完了のtodo</p> <ul class="list-low"> <li>TODOです</li> <button>完了</button> <button>削除</button> </ul> </div> <div class="completed-area"> <p class="title">完了したtodo</p> <ul class="list-low"> <li>todoでした</li> <button>戻す</button> </ul> </div> <script src="./main.js"></script> </body>
document.getElementById('add-button').addEventListener('click', () => onClickedAdd()); const onClickedAdd = () => { const inputText = document.getElementById('add-text').value; document.getElementById('add-text').value = ''; const addDiv = document.createElement('div'); addDiv.className = 'list-low'; const addLi = document.createElement('li'); addLi.inputText = inputText; addDiv.appendChild(addLi); document.getElementsByClassName('imcompleted-area').appendChild(addDiv); };
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。