Hangman游戏 - 重复字符串问题

时间:2016-07-22 11:30:58

标签: javascript

我正在处理我的Hangman游戏,我有一个令人沮丧的问题,一旦我点击开始按钮开始游戏,破折号打印到div不仅一次,但很多次后(一旦猜到的话已经输入)。我试图让破折号只打印一次到div。例如,对于单词dog,我想---打印,按下开始后不再有破折号。你能指出我正确的方向吗?这是jsfiddle:https://jsfiddle.net/jfn46wjm/

以下是它附加到页面的javascript代码:

//loop for underscores  
//creates under scores for each letter;
for (i = 0; i < input.length; i++) {

    placeholder += "-";
}

//append dashes to the page
var grab = document.getElementById("test");
var secret = document.createElement("p");
secret.id = "guessp";
var textn = document.createTextNode(placeholder);
secret.appendChild(textn);
grab.appendChild(secret);

2 个答案:

答案 0 :(得分:0)

这部分:

var grab = document.getElementById("test");
var secret = document.createElement("p");
secret.id = "guessp";
var textn = document.createTextNode(placeholder);
secret.appendChild(textn);
grab.appendChild(secret);

表示您将占位符(“---”)插入<div id="test"/>

在您调用的checkInput方法中:

var spguess = document.getElementById("guessp");

因为您的HTML代码中包含:

<p id="guessp"></p>
<div id="test">

</div>

然后,您的checkInput方法引用第一个<p/>元素,而start时,您将新<p id="guessp"/>引用到<div id="test">。然后你得到这个错误。

答案 1 :(得分:0)

检查Latest jsFiddle 我添加了一个标志printed并在打印更多破折号之前检查它是否为真。

这是更新后的链接。请检查并查看它是否正常工作。