前提・実現したいこと
左の要素をクリックすると右に、右に移った要素をクリックすると左に移るようにしたいです。
初期の要素数は左に5個、右に0個で考えてます。
発生している問題・エラーメッセージ
左から右へ移すのは自力で解決しましたが、右から左に移すことができません。
右側のclassName.lengthが初期は0個で、左から移しても何かをしないと再読み込みせずに0個のままだということは分かったのですが、どうすれば移した数を取得できるのかがわかりませんでした。
cloneNodeにこだわっているわけではないので、他の方法があったらそちらを教えてほしいです。
該当のソースコード
<select id="left" multiple> <option class="Leftoption">1</option> <option class="Leftoption">2</option> <option class="Leftoption">3</option> <option class="Leftoption">4</option> <option class="Leftoption">5</option> </select> <select id="right" multiple> </select> var left = document.getElementsByClassName('left'); var right = document.getElementsByClassName('right'); for(var i = 0; i < left.length; i++){ left[i].addEventListener('click',function(){ var copyLeft = this.cloneNode(true) right.appendChild(copyLeft); this.remove(); }); } for(var i = 0; i < right.length; i++){ right[i].addEventListener('click',function(){ var rightCopy = this.cloneNode(true); left.appendChild(rightCopy); this.remove(); }); }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/05/22 12:49