Jquery - 将文本编辑为多个元素

时间:2013-07-05 14:03:05

标签: jquery html

我一直在研究这个错误2个小时,这让我发疯了。

我要做的是从元素中获取一个数字(有效)并更改数字并将其替换为前一个数字。但是这个数字被一个字符串替换,之前的数字仍然存在。

HTML:

<span class="likesAmount">1</span>

JQuery的:

  //get number
  Likes = parseInt($(this).parent().parent().find('.likesAmount').text());
  //replace number
  $(this).parent().parent().find('.likesAmount').text(Likes = (Likes - 1 == -1 ? Likes = 0 : Likes - 1));

我尝试了诸如html,数据之类的东西,将其解析为带有文本等的int ..

提前致谢!

编辑:对不起,伙计们,我忘了使用我的commen,因为它进入了两次,导致不正确的结果..这段代码与它无关。但是感谢帮助我!

4 个答案:

答案 0 :(得分:5)

假设找到元素有效,您的代码看起来应该可以工作。将其拆分可能有助于诊断问题:

var element = $(this).parent().parent().find('.likesAmount');
var likes = parseInt(element.text(), 10);
element.text( Math.max(likes - 1, 0) );

答案 1 :(得分:0)

尝试

//get number
Likes = parseInt($('.likesAmount').text());
//replace number
$('.likesAmount').text(Likes);

答案 2 :(得分:0)

根据您提供的信息,以下是我提出的解决方案:

//get number
var Likes = parseInt($(this).parent().parent().find('.likesAmount').text());
if((Likes - 1) === -1) {
  Likes = 0;
}
else {
  Likes = 1;
}
  //replace number
$(this).parent().parent().find('.likesAmount').text(String(Likes));

我从文本分配中取出了if / else逻辑。然后我在插入时将Likes转换为String。

答案 3 :(得分:0)

对不起伙计们,我犯了一个愚蠢的错误。代码确实是正确的,但我忘了一个简单的,如果它进入+ 1两次..这是我的错误,谢谢你的答案!