如何用jQuery中的相同元素替换多个元素?

时间:2018-11-23 15:45:18

标签: javascript jquery foreach replacewith

我正在尝试在浏览器中制作Hangman游戏。我生成一个随机单词,然后为该单词的每个字母显示一个空白框,用户将能够单击带有字母的按钮,以尝试猜测随机单词是否包含该字母。如果是这样,那么代表该字母的所有空白框都将替换为内部写有该字母的框。

我的问题是,如果生成的单词包含多次单击的字母,则最后一次出现的单词只会在最后被替换,我认为这是由于我对jQuery的'replaceWith'错误使用引起的。希望我不要让这个听起来太复杂,如果您有任何疑问,请问一下!

这是我的代码:

state

1 个答案:

答案 0 :(得分:2)

此行

$('#' + position).replaceWith($("#" + id));

每次都返回相同的元素,使它四处移动直到它在循环的最后一次迭代中稳定下来。替换为

$('#' + position).replaceWith($("#" + id).clone());

应该可以解决问题。