3 回答

TA貢獻1863條經驗 獲得超2個贊
使用 vanilla JS 很容易做到。
document.getElementById('btn').addEventListener('click', () => {
const c1 = document.getElementById('c1');
const c2 = document.getElementById('c2');
c2.appendChild(c1.firstElementChild);
c1.appendChild(c2.firstElementChild);
});
<div id="c1">
<div>item 1</div>
</div>
<div id="c2">
<div>item 2</div>
</div>
<button id="btn">switch</button>
注意,這依賴于我將一個元素附加到容器末尾的事實,因此firstElementChild
仍然會拾取正確的元素。如果需要,您可以在進行交換之前將這些元素存儲在 vars 中。

TA貢獻1829條經驗 獲得超9個贊
該代碼在一定程度上有效。當我按下“down1”按鈕時,兩個元素會切換位置,但當我再次按下它以將它們交換回來時,按鈕會切換位置。當我再次按下按鈕(現在處于錯誤的位置)時,元素會切換回來,我必須第四次按下按鈕才能將按鈕恢復到原來的狀態。我還嘗試選擇第二個 Id“up1”按鈕來執行相同的功能,但該按鈕根本不起作用。你有什么IDE可以解決這個問題嗎?我將在下面分享我當前的代碼
document.getElementById("down1", "up1").addEventListener('click', () => {
answerTwoContainer.appendChild(answerOneContainer.firstElementChild);
answerOneContainer.appendChild(answerTwoContainer.firstElementChild);
});
<div id="quiz" class="quiz-container d-none">
<div id="question" class="quiz-question"></div>
<div id="container1" class="answer-container">
<div id="ans1" class="answer"></div>
<div class="button-container">
<button id="down1" class="down first-button"><i class="fas fa-chevron-down"></i></button></div>
</div>
<div id="container2" class="answer-container">
<div id="ans2" class="answer"></div>
<div class="button-container">
<button id="up1" class="up"><i class="fas fa-chevron-up"></i></button><button id="down2" class="down"><i class="fas fa-chevron-down"></i></button>
</div>
</div>
- 3 回答
- 0 關注
- 143 瀏覽
添加回答
舉報