Javascript 如何更改char js的innerHTML

Javascript 如何更改char js的innerHTML,javascript,html,Javascript,Html,我想做一个刽子手游戏,这样我就可以学习JavaScript,我不知道如何更改innerHTML 我用js制作的字符。因此,当我知道字符串是否包含猜测时,我想将表示正确猜测的行转换为字符并使其成为apear,但当我运行代码时,它将最后一行转换为正确猜测,并在出现新猜测时使其消失,并将该行转换为第二个正确猜测。并且不重新定义“o”(字符串中的最后一个字符) 如果我犯了语法错误,我想道歉 //定义这个词 var a='hello'; //排队 对于(var i=0;i您正在将字母变量重置为最后一个h

我想做一个刽子手游戏,这样我就可以学习JavaScript,我不知道如何更改innerHTML 我用js制作的字符。因此,当我知道字符串是否包含猜测时,我想将表示正确猜测的行转换为字符并使其成为apear,但当我运行代码时,它将最后一行转换为正确猜测,并在出现新猜测时使其消失,并将该行转换为第二个正确猜测。并且不重新定义“o”(字符串中的最后一个字符) 如果我犯了语法错误,我想道歉

//定义这个词
var a='hello';
//排队

对于(var i=0;i您正在将字母变量重置为最后一个h3元素。您需要为每个插槽设置一个数组

//定义这个词
var a='hello';
//排队
var letters=[];//此数组存储h3元素

对于(var i=0;i,您当前始终访问创建的最后一个短划线。 这是因为createElement将为单词中的每个字符创建一个h3元素

for ( var i=0; i<a.length; i++){
        var letter = document.createElement("h3");
        ...
}

//定义这个词
var a='hello';
//排队
变量字母=[]

对于(var i=0;我想感谢您的advice@tamastesnadi.不客气。请考虑接受一个可用的答案。嘿@ CS64 1311,你能解释一下你的代码吗?它工作得很好,但我不明白它是如何工作的。1)我添加了一个叫做字母的数组,它存储代表字母的每个H3元素。2。每次用户猜到一个正确的字母时,它都会检查该单词的所有字母实例,以防该单词有多个相同的字母。3.)替换与找到的字母对应的h3元素。我将在代码中添加注释,以便更好地解释
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Hangman</title>
    <link rel="stylesheet" href="style.css">
    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Yanone+Kaffeesatz:wght@500&display=swap" rel="stylesheet"> 
</head>
<body>
    <p class='letter'>Write the letter in here:</p>
    <p class='bad'> the wrong letters:</p>
    <p class='word'>the word:</p>
    <input type="text" class="input" id="input">
     <button class="sub" id='submit' onclick="submt()">submit</button>
    <script src="script.js"></script>  
</body>
</html>
//defineing the word
var a = 'hello';
// makes the lines 
var letters = []
for ( var i=0; i<a.length; i++){
        var letter = document.createElement("h3");
        letter.className = 'letter'+i;
        var j = 2*i+23;
        letter.style ="position: absolute;"+"top: 14%;"+"left: "+j+"%;";
        letter.innerHTML = "_";
        document.body.appendChild(letter);
        letters.push(letter)
    }  

function submt(){
    var inpt = document.getElementById('input');
    if (a.includes(inpt.value)){
        var index = a.indexOf(inpt.value)
        letters[index].innerHTML = a[index]; 
    }else {
        console.log('wrong')
    }
}