質問: ### 前提・実現したいこと JavaScriptのみでHTML要素を描画したい。 JavaScriptのDOMのみでサイト画面を模写しています。 トップメニューとサイドメニューのa要素はfor文で生成しました。 ### 発生している問題・エラーメッセージ トップメニュー、サイドメニューのa要素をそれぞれclass名を追記したdiv内に追加したいのですが、 for文の中にvar div=createElement('div'); div.className='topdiv'; document.getElementById('class名').appendChild(div);を for文に追加するとこれまで描画していたa要素が全て消えてしまいます。 ``` エラーメッセージ ``` ### 該当のソースコード ``` 質問 ``` ### 試したこと for文内でclass名を追加したdivを生成しその中にaを入れようと試みました。
回答: > > document.getElementById('class名') > > > `getElementById` は`get` `Element` `By` `Id` なのでidでしか要素を取得しません。 クラスは Document.getElementsByClassName() を使うか、Document.querySelector() や Document.querySelectorAll() を使ってください。 【Document.getElementById() - Web API | MDN】 【Document.querySelector() - Web API | MDN】 【Document.querySelectorAll() - Web API | MDN】