Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我总是得到;“错误”;如果我输入了正确的答案?_Javascript - Fatal编程技术网

Javascript 为什么我总是得到;“错误”;如果我输入了正确的答案?

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大调音阶的注释。正确答案是
(“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)) { // ...