Javascript innerHTML方法返回错误的值

时间:2017-07-04 22:37:47

标签: javascript

我正在寻找一些我正在做的数学项目的支持。基本上我已经创建了四个盒子,并用正确的答案填充了一个盒子。当我点击正确答案时,if语句不会运行;它总是表现为错误。

我添加了一个代码段,如果有人能看到明显错误的内容,那么我会感谢您的回复。

我只是尝试使用方框1来查看它是否有效,并且正确的答案确实填充在4个方框中的1个方框中,但它总是说它的答案是错误的,即使是正确的答案在box1

document.getElementById("box1").onclick = function() {
  if (playing == true) {
    if (this.innerHTML == correctAnswer) {
      score++;
      document.getElementById("scorevalue").innerHTML = score;
      hide("wrong");
      show("correct");
      setTimeout(function() {
        hide("correct");
      }, 1000);
    } else {
      hide("correct");
      show("wrong");
      setTimeout(function() {
        hide("wrong");
      }, 1000);
    }
  }
}

2 个答案:

答案 0 :(得分:0)

不要将两个值与 protected void populateViewHolder(final UserHolder viewHolder, Event model, final int position) { final String key = this.getRef(position).getKey().split("_")[0]; viewHolder.setName(key); } 进行比较,而是在if语句中尝试==。 示例:===

答案 1 :(得分:0)

这很可能与您的HTML以及设置代码的方式有关。例如,如果box1是div,那么如果您的代码如下所示:

<div id="box1">
    answer
</div>

然后在某些资源管理器中,特别是Chrome和FireFox,它将linebreak视为空白区域。

所以,如果var correctAnswer = "answer";

并将correctAnswerbox1.innerHTML进行比较,如下所示:

if (correctAnswer == box1.innerHTML)

然后,您将始终返回false

要解决此问题,请更改您的HTML:

<div id="box1">answer</div>

基本上删除换行符。

其他一切似乎都很好。