使用jQuery添加数字

时间:2015-08-11 12:30:42

标签: jquery

嗨大家简单的问题(但未能做到这一点 :( )。只想添加<li>

中的所有数字

PLeae在这里检查小提琴http://jsfiddle.net/6j0xq49v/1/

或者您可以查看下面的代码

<ul>
    <li>2</li>
    <li>2</li>
    <li>2</li>
    <li>2</li>
    <li>2</li>
    <li>2</li>
</ul>
<button>Click</button>
<div class="total"><div>

SCRIPT

$('button').click(function(){
var thistext = 0;
$('ul li').each(function(){
    thistext = $(this).text();
    thistext += parseInt(thistext)
    alert(thistext)
})
})

请帮助我们提前谢谢:)

2 个答案:

答案 0 :(得分:2)

您要将总和和每个值分配给thistext。试试这个:

$('button').click(function(){
  var thistext = 0;
  $('ul li').each(function(){
    thistext += parseInt($(this).text());
    alert(thistext);
  });
  $('.total').text(thistext);
});

这是一个工作小提琴:http://jsfiddle.net/6m81xcp0/

<强>更新

如果您需要考虑并非所有li元素都包含数字的情况:

$('button').click(function(){
  var thistext = 0;
  $('ul li').each(function(){
    var text = $(this).text();
    if (isNaN(text)) { return; }
    thistext += parseInt(text);
    alert(thistext);
  });
  $('.total').text(thistext);
});

http://jsfiddle.net/6m81xcp0/1/

答案 1 :(得分:0)

删除此行:

thistext = $(this).text();

并以这种方式使用:

$('button').click(function() {
  var thistext = 0;
  $('ul li').each(function(a, v) {
     thistext += (+v.textContent); // parsing to number if prepend with +
  });
  $('.total').text(thistext);
  console.log(thistext);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>2</li>
  <li>2</li>
  <li>2</li>
  <li>2</li>
  <li>2</li>
  <li>2</li>
</ul>
<button>Click</button>
<div class="total">
  <div>