Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript,无法检测到换行_Javascript_Replace - Fatal编程技术网

JavaScript,无法检测到换行

JavaScript,无法检测到换行,javascript,replace,Javascript,Replace,我在代码中发现了一个bug: 此代码将一些常规文本替换为突出显示的版本: var param = getCurrentParam(); var text = document.getElementById("mydiv").innerHTML; document.getElementById("mydiv").innerHTML = text .replace(param, '<span style="background-color:yellow;">'+param+'</s

我在代码中发现了一个bug:

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

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';
my text more text
another line here
“真实”html:

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';
my text more text
another line here
因为有一个换行符(无br,只需在文本编辑器中输入key即可),所以参数只有空格,但实际上(在html中)文本有一些内容(我猜是这样):
“\n”

因此,替换将不起作用,因为可能有一个“\n”,但它会搜索一个“”

如何修复替换方法?

因为换行符在html中通常不可见,所以您可以将其完全剥离

 var text = document.getElementById("mydiv").innerHTML.replace(/\r?\n/g, '');

在替换参数文本之前,您可以用空格替换换行符,例如
text=text.replace(“\n”,”)。这对您有用吗?更改getCurrentParam()如何?