Javascript 输入一个字母时,搜索栏不会显示所有相关结果

Javascript 输入一个字母时,搜索栏不会显示所有相关结果,javascript,html,arrays,object,dom,Javascript,Html,Arrays,Object,Dom,我正在尝试创建一个显示数组对象名称的搜索。输入的字母越多,搜索范围越窄。但是,当我输入一个字母时,它只显示一个结果,而console.log显示几个结果。上面的图像是我输入字母“s”时想要的结果,但我希望它是html文本,但下面的图像是结果。我似乎找不到这个问题,它发生在我的几个实践项目中,控制台能够检测到与输入字母相关的所有名称,但html不能。请有人告诉我为什么没有显示文本以及我如何修复它,如果这是一个新手错误,我很抱歉,我是一个javascript初学者,这是我的第一个单独练习项目。多谢各

我正在尝试创建一个显示数组对象名称的搜索。输入的字母越多,搜索范围越窄。但是,当我输入一个字母时,它只显示一个结果,而console.log显示几个结果。上面的图像是我输入字母“s”时想要的结果,但我希望它是html文本,但下面的图像是结果。我似乎找不到这个问题,它发生在我的几个实践项目中,控制台能够检测到与输入字母相关的所有名称,但html不能。请有人告诉我为什么没有显示文本以及我如何修复它,如果这是一个新手错误,我很抱歉,我是一个javascript初学者,这是我的第一个单独练习项目。多谢各位

var学生=[{
姓名:`Elon Musk`,
现在:“真的”
},{
姓名:`Bruce Wayne`,
现在:'假'
},{
姓名:`Steve Rogers`,
现在:“真的”
},{
姓名:`SpiderMan`,
现在:“真的”
},{
姓名:`John Snow`,
现在:'假'
}, {
名称:“Sonic”,
现在:`是的`
}, {
姓名:`Johnny Silverhand`,
现在:`假`
}
]
var totalStudents=document.createElement(“h2”)
totalStudents.textContent=`学生总数:${Students.length}`
document.querySelector(“body”).appendChild(totalStudents)
var numOfAbs=students.filter(函数(student)){
返回student.present==“true”
})
var absDisplay=document.createElement(“h2”)
absDisplay.textContent=`出席但未出席的学生人数:${numOfAbs.length}`
document.querySelector(“body”).appendChild(absDisplay)
document.querySelector(“#ClassReg”).addEventListener(“单击”,函数(){
students.forEach(函数(学生){
var studentNames=document.createElement(“p”)
studentNames.textContent=`${student.name}-${student.present}`
document.querySelector(“#register”).appendChild(studentNames)
})
})
document.querySelector(“搜索文本”).addEventListener(“输入”,函数(e){
students.forEach(函数(学生){
if(student.name.toLowerCase().includes(e.target.value.toLowerCase())){
console.log(student.name)
document.querySelector(“#register”).innerHTML=“”
常量记录器=document.createElement(“h4”)
logger.textContent=student.name
document.querySelector(“#register”).appendChild(记录器)
}
})
})
document.querySelector(“搜索文本”).addEventListener(“输入”,函数(e){
students.forEach(函数(学生){
if(e.target.value.includes(student.name.toLowerCase())){
student.present='true'
console.log(student.present、student.name)
}
})})

登记
登记
登录
ClassReg

看起来您正在清除每个循环上的
#register
的内容。我想你的意思是在for循环之前使用这一行:

document.querySelector("#register").innerHTML = ""

这实际上在我的chrome版本上运行良好。你在哪个浏览器上运行?