jQuery 在字符串中添加数字

标签 jquery arrays each

我的 anchor 文本可能看起来像“1 个回复和 30 次提及”或“3 个回复和 1 次提及”(显然数字不同)。我正在尝试使用 jQuery 将 anchor 文本替换为添加的数字。

$(document).ready(function() {
$('header div.comments-link a').each(function(index) {
    var myreaction = $(this).text().split(" ");
    $(this).text(myreaction[0]+myreaction[3]);
});
});

因此,对于第一个示例,它将是 1+30,因此文本替换将为 31。对于第二个示例,它将是 3+1,因此文本替换将为 4。

但是,它似乎没有替换实际文本,并且似乎没有正确执行分割数组。当它向下移动页面时,它有时会抓取“1”,但有时会抓取“Reply”。

有什么想法吗?

最佳答案

我会尝试使用正则表达式并将数字字符串解析为实际的整数:

var myreaction = $(this).text().match(/(\d+) Repl(?:y|ies) and (\d+) Mention(?:s?)/);
$(this).text(parseInt(myreaction[1], 10) + parseInt(myreaction[2], 10));

关于jQuery 在字符串中添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11489407/

相关文章:

javascript - 在博客文章列表中移动动态 div

php - 如何使用php将数组值存储到mysql表中的单个单元格中?

javascript - 在 jQuery 中如何使用偏移量进行迭代?

jQuery .each - 为选择器的每个实例运行函数

jquery - load() 函数有问题

javascript - 如何将数组写入的字符串转换为真正的数组?

javascript - 减少方法不清楚

jquery - 定义元素上的光标

jquery - 使用 jQuery 访问绑定(bind)到事件处理程序的函数

Javascript 或 jQuery 正在缓存我的 javascript 变量。我该如何重置?