1

这似乎是一件非常简单的事情,但我似乎无法让它发挥作用。我有:

<button id="more">more</button>
<button id="less">less</button>

<p id="info"></p>

<script>
var howMany = 1;
$(#more).click(function(){
    howMany + 1;
});
$(#less).click(function(){
    howMany - 1;
});
$("#info").text(howMany);
</script>

我只是想让信息段落在用户点击更多或更少时增加或减少。

4

4 回答 4

5

您的代码中有几个错误,正如其他人已经提到的那样,选择器中缺少引号,在递增/递减后没有重新分配变量值。

var howMany = 1;
$('#more').click(function(){
    howMany += 1;
    $("#info").text(howMany);
});
$('#less').click(function(){
    howMany -= 1;
    $("#info").text(howMany);
});
$("#info").text(howMany);​

这是一个工作小提琴

于 2012-05-29T19:57:22.900 回答
4

有几个问题:

  • 您需要字符串作为选择器。所以#more用引号括起来:"#more"
  • 您需要更新变量,而不仅仅是计算加法或减法并忽略结果。使用+=and-=代替+and -
  • 您可能希望<p>在每次加/减后更新元素。因此.text,在更新变量后,将调用放在两个 click 函数中。
于 2012-05-29T19:54:12.147 回答
1

您将 1 添加到howMany,但不影响变量的结果。使用howMany = howMany + 1;howMany += 1;

编辑:根据 pimvdb 的回答,还有其他问题,看看他的帖子。更正的代码在这里:

<button id="more">more</button>
<button id="less">less</button>

<p id="info"></p>

<script>
var howMany = 1;
$("#more").click(function(){
    howMany += 1;
    $("#info").text(howMany);
});
$("#less").click(function(){
    howMany -= 1;
    $("#info").text(howMany);
});
</script>
于 2012-05-29T19:53:24.117 回答
1

您没有将结果分配给变量,而且您是在点击事件之外text设置元素的!尝试:

$("#more").click(function(){
    howMany += 1;
    $("#info").text(howMany);
});
$("#less").click(function(){
    howMany -= 1;
    $("#info").text(howMany);
});
于 2012-05-29T19:55:08.307 回答