ラボ > Javascript関連:DOM関連
javascript innerHTMLとappendChildの混在
innerHTML→appendChildはいいけど、appendChild→innerHTMLはよくない…ってお話
作成日:2024-03-29, 更新日:2024-03-29
めも
動作はするけど、問題はある…ということらしい
メモリの問題をはじめ、いくつか問題があるらしいが…下記のような形の場合、elm_ipt.onclickの設定がなくなる…という問題がある
let container = document.createElement('div'); container.innerHTML = '<input type="hidden" name="csrf" value="aaaaa">'; // ← appendChild()する前だと問題なし let elm_ipt = document.createElement('input'); elm_ipt.setAttribute('type', 'file'); elm_ipt.setAttribute('name', 'upFile'); elm_ipt.onclick = function(){ /* 処理 */ } // ← コイツが消えるらしい container.appendChild(elm_ipt); container.innerHTML += '<input type="button">'; // ← appendChild()した後に追加は良くない