用“+”替换断点和空格

时间:2013-09-26 10:38:52

标签: jquery replace

我有一个带有文本字符串的元素,我需要在第二列中用“+”替换空格和换行符。我有以下代码: 标记:

<table id="tblData">
<tr>
<td>John Smith</td>
<td>114 text text text<br/>text, text,<br/>text text<br/>text
<td>N/A</td>
</tr>
</table>

脚本:

$('#tblData td:nth-child(2)').each( function( index, element ){
console.log($(this).text()
     .replace(/ /g, '+')
     .replace('<br/>', '+')
);
});

替换空格工作正常,但替换<br/>则不行。 我错过了什么?

Fiddle此处。

3 个答案:

答案 0 :(得分:2)

试试这个你需要替换\ n aswell

console.log($(this).html()
              .replace(/(<br>| |\n|\r)/g, '+')
           );

DEMO

答案 1 :(得分:1)

如果您要替换<br/>,则必须使用$(this).html()代替$(this).text().text()不会输出html标记。对于正则表达式,请查看其他答案。这样做的副作用是,替换后文本中的所有其他html标记仍然存在。

答案 2 :(得分:0)

试试这个,

$('#tblData td:nth-child(2)').each( function( index, element ){
   console.log($(this).text()
     .replace(/ |\n|\n\r|\r\n/g, '+')// use /\s|\n|\n\r|\r\n for all spaces
  );
});

Fiddle