jquery中的text()附加数字

时间:2017-03-24 13:02:47

标签: javascript jquery html text



 <p class="a">0</p>
    <p class="a">0</p>
    <button>Click</button>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    
    <script>$('button').click(function() {
	var num = parseInt($('.a').text());
  num++;
  $('.a').text(num.toString());
})
</script>
&#13;
&#13;
&#13;

代码会将新号码附加到旧号码,但我希望它在点击后增加1。

2 个答案:

答案 0 :(得分:1)

在函数外声明var num = parseInt($('.a').text()); $('button').click(function() { num++; $('.a').text(num); })变量。

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="a">0</p>
<p class="a">0</p>
<button>Click</button>
&#13;
a
&#13;
&#13;
&#13;

或者指定要从哪个元素中捕获初始值,因为由于有两个元素具有$('button').click(function() { var num = parseInt($('#b').text()); num++; $('.a').text(num.toString()); })类,因此该值加倍。

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="a">0</p>
<p class="a" id='b'>0</p>
<button>Click</button>
&#13;
class ApiServicesController extends Controller
{
   $this->payment(array('txnId'=>1112548));
}
&#13;
&#13;
&#13;

答案 1 :(得分:1)

$('.a')将选择与条件匹配的元素列表。在这种情况下有2个元素。

因此,请使用$.each()index来过滤所需的元素。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<p class="a">0</p>
<p class="a">0</p>
<button>Click</button>

<script>
  $('button').click(function() {
    $('.a').each(function() {
      $this = $(this);
      var num = parseInt($this.text());
      $this.text(++num);
    });
  })
</script>