#javascript #jquery
Вопрос:
Я пытаюсь добавить 1 к переменной «оценка» при нажатии кнопки с идентификатором = #правильно.
Я новичок в кодировании, кто-нибудь может понять, почему оценка var остается 0, пожалуйста?
код javascript/jQuery
var score = 0
$('table tr td button').on('click', function(){
if ($(this).is("#correct"))
$(this).addClass("theright") amp;amp; score amp;amp; $('.q1').attr('disabled', 'disabled');
else {
$(this).addClass("thewrong") amp;amp; $('.q1').attr('disabled', 'disabled');
}
});
Комментарии:
1. не сокращайте таким образом — во-первых, если в первый раз
if ($(this).is("#correct"))
true
код послеscore
не будет выполнен, так0
как является ложным …. думаю, ты мог бы сделатьscore
это вместо этого … на самом деле, вы повторяетесь$('.q1').attr('disabled', 'disabled')
в обоих случаях, поэтому переместите это после «если/иначе»… и просто не сокращай так2. мое предположение
$(this).is("#correct")
неверно — попробуйтеconsole.log($(this).is("#correct"))
увидеть
Ответ №1:
Как вы использовали свой переменный балл, возможно, проблема в этом, потому что я попробовал ваш код, и он работает нормально
var score = 0
$('button').on('click', function(){
if ($(this).is("#correct"))
$(this).addClass("theright") amp;amp; score amp;amp; $('.q1').attr('disabled', 'disabled');
else {
$(this).addClass("thewrong") amp;amp; $('.q1').attr('disabled', 'disabled');
}
$("span#score").html(score)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span id="score"></span><br><br>
<button id="correct">Correct</button>
<button>Wrong</button>