質問: 0; i < nameList.size();i++){ %> target=”_blank”><%= nameList.get(i) %> <%} %> ``` ### 試したこと これを実行し、1度目のajax通信をするとアラートが表示されてページも更新されるのですが、2回からはどの要素を選んで通信を行おうとしても、失敗のアラートすら出てきません。2回目の通信を試みたときにはエラーは出ていません。 、![![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/2f565823e5b325844cfae0590a6005cf.png)] ### 補足情報(FW/ツールのバージョンなど) eclipse Version: 2020-06 (4.16.0)
回答: 恐らくですが、 1. ページ読み込み、DOM構築が行われる 2. 構築されたDOMに存在する`#btn`要素に対して`click`イベントハンドラが設定される 3. Ajax通信 4. `document.write`によってDOMが全て書き換えられる という動きになっていますので、`4.`の段階で`click`イベントが設定された`#btn`要素はDOMから消えています。 なので、`document.write`を使用せずに既存のDOMに対してAjax通信後の操作を行うか、`document.write`でDOMを書き換えた後に再度`click`イベントを設定し直す必要があります。