JavaScript,无法检测换行符

时间:2012-05-16 13:28:07

标签: javascript replace

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

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

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,只需在文本编辑器中输入键),param只有空格,但实际上(在html中)文本有一些东西(我猜测如此):'\n';
所以替换不会起作用,因为可能有一个:“\ n”但它搜索的是“”; 如何修复我的替换方法?

1 个答案:

答案 0 :(得分:3)

因为换行符通常在html中不可见,所以你可以完全剥离它们

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