Javascript 如果条件不运行,即使条件满足
只有main.js语句中读取scores-=1的else语句才会运行,即使条件满足,if条件也不会运行。即使在点击右选项后,“我的分数”值也不会增加1,而是会减少1,这意味着它只满足else语句 index.htmlJavascript 如果条件不运行,即使条件满足,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
<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语句之外,其他一切都在工作。