Jquery数字增加到<p>标记

时间:2015-08-05 10:02:33

标签: jquery

我正在尝试编写一个包含段落标记主要值的变量,如下所示:

<button id="button">random words</button>
   <p id="inc">0</p>
   <script>
       $(document).ready(function(){
        $('#button').on("click", function(){
          var oldVal = $("#inc")
          $('#inc').text( oldVal + 1)
        });
       });
   </script>

如何将'#inc'变成一个数字,这样我可以做一个+ 1的增量?

3 个答案:

答案 0 :(得分:1)

您可以使用回调文本功能接受旧文本并使用新文本进行修改。

您还需要将旧值解析为整数以递增它:

$('#button').on("click", function(){
      $('#inc').text(function(i,oldVal){
         return parseInt(oldVal,10) + 1 ;
      });
 });

Working Demo

答案 1 :(得分:0)

$("#inc")返回一个jQuery obeject而不是它的内容,你可以使用.text()来获取它的内容然后递增它。请注意.text()将返回一个字符串值,因此您需要在尝试添加1之前将其转换为数值

&#13;
&#13;
$(document).ready(function() {
  $('#button').on("click", function() {
    $("#inc").text(function(i, text) {
      return +text + 1 || 0
    })
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="button">random words</button>
<p id="inc">0</p>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用以下代码更新您的代码,您将得到您想要的内容

<script>
       $(document).ready(function(){
        $('#button').on("click", function(){
          var oldVal = parseInt($("#inc").text());
          $('#inc').text( oldVal + 1)
        });
       });
   </script>

实际上你的代码中有一个错误

必须替换

var oldVal = $("#inc") var oldVal = parseInt($("#inc").text());