1

我在我的代码中发现了一个错误:

此代码用突出显示的版本替换了一些常规文本:

var param = getCurrentParam();
var text = document.getElementById("mydiv").innerHTML;
document.getElementById("mydiv").innerHTML = text .replace(param, '<span style="background-color:yellow;">'+param+'</span>');

但这在这种情况下不起作用:

param = 'my text more text another line here';

“真实”html:

my text more text
another line here

因为有一个换行符(没有 br,只需在文本编辑器中输入键),参数只有空格,但实际上(在 html 中)文本有一些东西(我猜是这样)'\n':;
所以替换不会起作用,因为可能有一个:“\n”,但它会搜索一个“”;
如何修复我的替换方法?

4

1 回答 1

3

由于换行符通常在 html 中不可见,因此您可以完全剥离它们

 var text = document.getElementById("mydiv").innerHTML.replace(/\r?\n/g, '');
于 2012-05-16T13:38:20.140 回答