正则表达式替换元素文本

时间:2012-07-13 11:10:36

标签: javascript jquery regex

似乎永远不会掌握那些正则表达式......

我需要用newVal更新总数

<span class="myClass">some text Total (12)</span>

<span class="myClass">some text Total (13)</span>

并且没有当前值

<span class="myClass">some text Total</span>

<span class="myClass">some text Total (13)</span>
哦,有些文字可以是任何东西

我的代码

    newVal = 13;
    $('.myClass').text( $('.myClass').text().replace(???, ???) );

2 个答案:

答案 0 :(得分:1)

您可以使用span包装计数器:

<span class="myClass">some text Total (<span>12</span>)</span>

并且这样做:

newVal = 13;
$('.myClass span').text(newVal);

答案 1 :(得分:0)

错误的方法,您的代码只会返回新字符串。要进行设置,请使用

$('.myClass').text(function(i, old){ 
   return old.replace(/(\s+\(\d+\))?$/, " ("+newVal+")");
})

正则表达式匹配字符串结尾,以及(可选)空格+括号前的数字。