2

我正在使用以下 jQuery 将元素中的每个字母包装在一个跨度中:

$('.num .stat').children().andSelf().contents().each(function() {
  if(this.nodeType == 3) {
    var $this = $(this);
    $this.replaceWith($this.text().replace(/(\w)/g, '<span class="s-$&">$&</span>'));
  }    
});

我将使用它来包装数字。我遇到的问题是,当我的号码中有逗号(例如 23,000)时,逗号没有被换行。

知道如何将逗号包裹在 a 中<span>吗?

谢谢!

4

2 回答 2

3

逗号不在 的子集中\w。您可以使用.以匹配所有字符:

$this.text().replace(/(.)/g, '<span class="s-$&">$&</span>')
于 2012-09-04T15:56:20.527 回答
1

\w 不包括逗号,试试这个: /([\w\,])/g

于 2012-09-04T15:57:05.720 回答