Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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_Html - Fatal编程技术网

Javascript 如果条件不运行,即使条件满足

Javascript 如果条件不运行,即使条件满足,javascript,html,Javascript,Html,只有main.js语句中读取scores-=1的else语句才会运行,即使条件满足,if条件也不会运行。即使在点击右选项后,“我的分数”值也不会增加1,而是会减少1,这意味着它只满足else语句 index.html <div class="buttons"> <button id="button0"><span id="option0"></span></button> <button id="button1">&l

只有main.js语句中读取scores-=1的else语句才会运行,即使条件满足,if条件也不会运行。即使在点击右选项后,“我的分数”值也不会增加1,而是会减少1,这意味着它只满足else语句

index.html

<div class="buttons">

<button id="button0"><span id="option0"></span></button>  
<button id="button1"><span id="option1"></span></button>  
<button id="button2"><span id="option2"></span></button>  
<button id="button3"><span id="option3"></span></button>  
 </div>
main.js

  var questions =[{

   question:'abcbcb',
  options:['a','b','c','d'],
  answer:'b' 
 },   { 
  question:"capital of india",
   options:['delhi','mum','pune','kol'],
   answer:'delhi'

 }]
 var x = Math.floor(Math.random() * (questions.length));
 var scores = 0;


 function gameplay(){
var quesn = document.getElementById('question');
quesn.innerHTML =questions[x].question;
for(i=0;i<4;i++){
var opt = document.getElementById('option'+i);
opt.innerHTML = questions[x].options[i];
var score = document.getElementById('scores');
score.innerHTML = scores;
}

}

 gameplay();

 for(i=0;i<4;i++){
     var y = document.getElementById('button'+i);
     var z = document.getElementById('option'+i);
     y.onclick = function(){
        if((z.innerHTML) ==(questions[x].answer)){
            scores +=1;
        }
        else{
            scores -=1;
        }
        x=Math.floor(Math.random() * (questions.length));
         gameplay();
     }
 }

var x=document.getElementByIdoption0.innerHTML

console.logx

这就是获得值的方法,.innerText也可以工作

顺便说一句,您在java中将其标记为一个问题,这是javascript。非常不同

希望这有帮助

替换这个

 for(i=0;i<4;i++){
     var y = document.getElementById('button'+i);
     var z = document.getElementById('option'+i);
     y.onclick = function(){
        if((z.innerHTML) ==(questions[x].answer)){
            scores +=1;
        }
        else{
            scores -=1;
        }
        x=Math.floor(Math.random() * (questions.length));
         gameplay();
     }
   }
那么这个

 <p id="question"></p> 
  <div class="buttons">
 <button id="button0"><span id="option0"></span></button>  
 <button id="button1"><span id="option1"></span></button>  
 <button id="button2"><span id="option2"></span></button>  
 <button id="button3"><span id="option3"></span></button>  
 </div>
 <p id = 'scores'></p>
用这个

 function answer(ans)
 {
var myAnswer = document.getElementById('option'+ans);
if(myAnswer.innerHTML == (questions[x].answer))
{
    scores += 1;
}
else{
    scores -= 1;
}
x=Math.floor(Math.random() * (questions.length));
     gameplay();

console.log(ans);
}
    <p id="question"></p> 
<div class="buttons">
<button id="button0" onclick ="answer('0')"><span id="option0"></span></button>  
<button id="button1" onclick ="answer('1')"><span id="option1"></span></button>  
<button id="button2" onclick ="answer('2')"><span id="option2"></span></button>  
<button id="button3" onclick ="answer('3')"><span id="option3"></span></button>  
</div>
<p id = 'scores'></p>

对于纯Javascript,请使用innerHTML属性

对于您的示例,请使用以下命令:

var spanVal = document.getElementById("option0").innerHTML;

你已经试过什么了?Java还是JavaScript?好的,getElementbyid的可能副本不存在:检查拼写。text是一个jQuery方法,而不是本机DOM方法。getElementbyId仍然拼写错误。可能与编辑的方法重复!对不起,我应该早点做!请调查it@rohan我认为这还不完整,您在javascript函数中指定的问号在哪里?好吧,我没有提到我的问题,因为这并不重要,而且为了避免太多的代码。@rohan我无法识别您的错误,因为您在函数中指定了一些文档中没有的元素,它还会抛出与未指定的元素相关的错误。有一个问题,我不是为了避免模棱两可而提的。除了if语句之外,其他一切都在工作。