2

我有三个词我想在第一个空格之后的内容周围添加一个跨度,所以

hello world

变成:

hello <span>world</span>

和:

hello world again

变成:

hello <span>world again</span>

这是我的 JavaScript 代码:

 $( "#main-nav li a" ).each(function( index ) {
   $(this).html( $(this).text().replace(/([\S]*)\s(.*)/, "$1 <span>$2</span>") );
}); 
4

2 回答 2

5

你可以用一些正则表达式来做到这一点:

text = text.replace(/([\S]*)\s(.*)/, "$1 <span>$2</span>");

如果texthello world,上面的代码会将其转换为hello <span>world</span>

于 2013-03-15T07:52:35.540 回答
1

也许更容易理解(对我来说肯定),

  1. 对空白字符使用 find 方法,获取字符串中的第一个位置。
  2. 获取第一个子字符串,从索引 0 到特定位置。
  3. 从特定位置获取子字符串到 string.length 并包装它们
  4. 再合并两个字符串。
于 2013-03-15T07:55:33.433 回答