Javascript 为什么我总是得到;“错误”;如果我输入了正确的答案?
其想法是要求用户提供C大调音阶的注释。正确答案是Javascript 为什么我总是得到;“错误”;如果我输入了正确的答案?,javascript,Javascript,其想法是要求用户提供C大调音阶的注释。正确答案是(“C”||“D”|“E”|“F”|“G”|“A”|“B”)。但是,不管输入是什么,此基本程序始终生成相同的警报,即“else”语句之后的警报 var answ=document.querySelector(“.answer”); answ.addEventListener(“单击”,其中); 函数which(){ var give=document.querySelector(“.guess”); 如果(给==“C”|给==“D”|给==“E”|
(“C”||“D”|“E”|“F”|“G”|“A”|“B”)
。但是,不管输入是什么,此基本程序始终生成相同的警报,即“else”语句之后的警报
var answ=document.querySelector(“.answer”);
answ.addEventListener(“单击”,其中);
函数which(){
var give=document.querySelector(“.guess”);
如果(给==“C”|给==“D”|给==“E”|给==“F”|给==“G”|给==“A”|给==“B”){
警惕(“干得好!”);
控制台日志(give);
}否则{
警惕(“错误!”);
}
}
var answ=document.querySelector(“.answer”);
answ.addEventListener(“单击”,其中);
将分配给give
一个HTML元素(或null
如果没有匹配的元素)
这样的元素永远不会等于“C”、“D”等。您不会显示HTML,但如果该元素是输入,您将希望访问其值:
var give = document.querySelector(".guess").value;
另外,您可以将if
语句简化为从数组中查找:
if(["C", "D", "E", "F", "G", "A", "B"].includes(give)) { // ...
您的
give
变量将是.querySelector()
的结果,它是HTML元素而不是值。您需要从元素中获取值。var give=document.querySelector(“.guess”)代码>为什么希望节点等于字符串?这是否回答了您的问题?
if(["C", "D", "E", "F", "G", "A", "B"].includes(give)) { // ...