使用 - 而不是value = value - 1不能正确更新.html

时间:2014-03-18 17:41:23

标签: javascript jquery html

我试图确定为什么我会收到以下行为。这是我想要更新的div:

<h3 id='guess-count'> 5 Guesses Remaining </h3>

工作代码:

$('#guess-count').html(startingCount = startingCount - 1 + " Guesses Remaining");

这将显示startingCount变量的更新值。

非工作

$('#guess-count').html(startingCount-- + " Guesses Remaining");

当我使用调试器时,我看到值确实发生了变化,但它没有在html视图中表达。但是,如果我再次运行它,它确实更新了html值,但是在它减去一个之前它的值是多少。这是一个例子:

// starting value and first pass
startingCount = 5

 $('#guess-count').html(startingCount-- + " Guesses Remaining");

// startingCount html display value is 5 BUT startingCount holds the value of 4

startingCount = 4
//second pass
$('#guess-count').html(startingCount-- + " Guesses Remaining");

// startingCount html display value is 4 BUT startingCount holds the value of 3

它似乎显示了startingCount的当前值,然后从中减去了一个 值。

有人知道为什么这样做吗?它似乎在更新html后评估'startingCount--'。

1 个答案:

答案 0 :(得分:5)

这是操作的顺序。基本上是:

startingCount--

正在说打印数字,然后递减它。

你想要的是:

--startingCount

减少数字,然后打印出来。