我有一个带有以下结构的div(使用Bootstrap 3),在这里面是一个带有类" votes
":
我的HTML:
<div>
Views: <span class="badge views">12</span>
Votes: <span class="badge votes">0</span>
<a href="#">Comments:</a> <span class="badge comments">5</span>
<span class="pull-right">
<button class="btn btn-default btn-xs btnVote">Vote</i></button>
</span>
</div>
我的jQuery:
以下jQuery返回此span的内容,该内容始终是一个数字(在本例中为0):
var votes = $(this).closest('div').find('.votes').text();
现在我正在尝试替换此范围的内容,resp。通过单击同一div中的按钮为其添加1。 我使用了以下内容,但这并没有改变它:
$(this).closest('div').find('.votes').text(parseInt(votes) + 1);
OR
$(this).closest('div').find('.votes').html(parseInt(votes) + 1);
有人可以告诉我这里做错了吗?
提前非常感谢,蒂姆。答案 0 :(得分:2)
看起来应该没问题,虽然我总是在parseInt
上使用基数。但是你可以更有效地做到这一点,而不是两次查找元素:
$(this).closest('div').find('.votes').text(function(i, text) {
return parseInt(text, 10) + 1;
});
答案 1 :(得分:1)
似乎工作正常或我想念一些事情?
HTML:
<div>
Views: <span class="badge views">12</span>
Votes: <span class="badge votes">0</span>
<a href="#">Comments:</a> <span class="badge comments">5</span>
<span class="pull-right">
<button class="btn btn-default btn-xs btnVote">Vote</i></button>
</span>
</div>
JS:
$(".btnVote").click(function(){
var votes = $(this).closest('div').find('.votes').text();
$(this).closest('div').find('.votes').text(parseInt(votes) + 1);
});
<强> Check JSFiddle Demo 强>