如何在测验中检查答案?

时间:2019-06-05 22:52:20

标签: javascript jquery

我列出了可排序的列表,以重新排列单词以构成有意义的句子。我无法弄清楚为什么检查答案部分的警报不起作用。这不起作用:alert('success');

https://codepen.io/Tarun1980/pen/ZNdJze

$(document).ready(function () {
var words = [];
var i = 0;
function showWords() {
    $('#container').append("<ul id='list'></ul>");
    for (var j = 0; j < words[i].question.length; j++) {
        $('#list').append("<li class='box' id=" + words[i].question[j] + ">" + words[i].question[j] + " " + "</li>");
    }

    $('#list').sortable({
        placeholder: 'back',
        axis: 'x',
        opacity: '0.7'
    });
}
showWords();


$(document).on('click', '#btn', function () {
    var guess = $('.box').text();
    $('#list').empty();
    if (i < words.length); {
        var correct = words[i].answer;
        i++;
        showWords();
    }
    if (guess === correct) {
        alert('success');
    }
});

});

1 个答案:

答案 0 :(得分:0)

HTML中的换行符被视为文本节点,由单个空格组成。它解释了为什么这样...

<ul>
  <li>Hello</li>
  <li>World</li>
</ul>

...尽管其中没有空格,也呈现为"Hello World "

这样,由于最后一个guess</li>之间的换行符,您的</ul>尾随空格。

要减轻这种情况,只需trim()您的猜测即可。

if (guess.trim() === correct) {
  alert("success");
}