增加div

时间:2017-07-24 11:21:42

标签: jquery

我试图在事件发生时增加一个数字。例如。按钮单击。在第一个事件中代码工作正常,但在以下事件中,数字“加倍”'而且我不确定原因。

EG。 HTML:

  <div>
    <span class="userpointshead"> 130 </span>
    <button class="jquery-tester">Button</button>
  </div>

JQuery的:

$('.jquery-tester').click(function() {
  var points = parseInt($('.userpointshead').text());
  $('.userpointshead').text(points+5);
});

点击第一个按钮,.userpointshead的内容将更新为135。在第二次点击时,它们将更新为135140。在第三次点击时,它会更新为135140135145,依此类推。

我希望它从130 - 135 - 140 - 145 - 等等。

我也尝试了以下相同的结果:

$('.jquery-tester').click(function() {
  var points = parseInt($('.userpointshead').text().trim(), 10);
  var newpoints = points + 5;
  $(".userpointshead").html(newpoints);
});

我觉得我错过了一些非常明显但却不确定的东西。

更新:我使用新的<span>尝试了相同的代码,并且它可以像我一样工作。我仍然知道为什么原版不会起作用..它只是一个数字的跨度。

3 个答案:

答案 0 :(得分:1)

我只是尝试了这个并且工作正常。

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
   $('.jquery-tester').click(function() {
  var points = parseInt($('.userpointshead').text());
  $('.userpointshead').text(points+5);
});
});
</script>
</head>
<body>

<div>
    <span class="userpointshead"> 130 </span>
    <button class="jquery-tester">Button</button>
  </div>

</body>
</html>

答案 1 :(得分:0)

你的coude应该可以正常工作。 也许尝试这个来检查问题是否不在其他地方:

$('.userpointshead').text(parseInt(points)+5);

答案 2 :(得分:0)

我有或多或少地解决了它,虽然我不理解或不喜欢解决方案。

<span>中添加一个额外的类并在新类上执行jquery让一切正常。

<span class="userpointshead user-points"> 130 </span>
<button class="jquery-tester">Button</button>


$('.jquery-tester').click(function() {
  var points = parseInt($('.user-points').text());
  $('.user-points').text(points+5);
});

我的项目中没有其他jquery / javascript干扰.userpointshead,我无法理解为什么它不起作用。