这就是我在scripts.js中所拥有的
var player1score = 0;
if (currentPlayer === 1) {
$("ul#player1scorelist").each(function() {
player1score = parseInt(player1score) + parseInt($(this).text());
});
$("#player1totalscore").text(player1score);
// ...
}
它应该让每个孩子都进入player1scorelist并返回子节点中数字的总和。相反,它结合了2个数字。
例如:
显示为356。
在player1score上运行typeof会显示整数。
我做错了什么?
答案 0 :(得分:4)
您的问题是解析包含三个数字的父元素的文本。生成的文本是3个看起来像整数的数字。例如:
$('<ul><li>3</li><li>5</li><li>6</li></ul>').text() // = "356"
确保按照其他评论者的建议循环实际包含您想要求和的数字的元素,例如
$("ul#player1scorelist li").each(...)
答案 1 :(得分:0)
你的问题是解析父元素即ul,所以你得到ul的所有值,即356.你可以用其他方式使用和
var sum = $('#player1scorelist li').toArray().reduce(function(sum,element) {
return sum + Number(element.innerHTML);
}, 0);