使用jQuery,我想从<span>
中提取一个数字,并用它来计算一个新值。如何使用jQuery从HTML跨度中提取数字?
<div class="post-100" data-postid="100">
<span class="score">3</span>
</div>
我已经得到了普遍的想法,但我想不出如何引用现有的跨度值:
if (response.newvoteid == null)
{
$(".post-" + $(this).data("postid") + " .score").text(
parseInt(**EXISTING VALUE + 1 OR -1**));
}
更新:我现在用下面这不计算新值,但只是向文本添加一个数字。例如,<span class="score">3</span>
成为<span class="score">31</span>
var number = $(".post-" + $(this).data("postId") + " .score").text();
$(".post-" + $(this).data("postId") + " .score").text(number + 1);
你为什么不写'$(本).find( '分数')'? – SLaks 2010-12-12 20:20:43
SLaks,好主意。我找到了一种方法来查找分数,但现在它将新数字附加到跨度上,而不是附加计算。看到我的更新,如果这个评论没有意义。 – Mohamad 2010-12-12 20:24:15
这就是'parseInt()'的用途。否则它认为你正在进行连接。此外,还有更简单的方法来更新旧值。 [看我的回答](http://stackoverflow.com/questions/4423750/how-do-i-extract-a-number-from-an-html-span-using-jquery/4423818#4423818)。 – user113716 2010-12-12 20:28:08