我在代码中发现了一个错误:
此代码用突出显示的版本替换一些常规文本:
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”但它搜索的是“”;
如何修复我的替换方法?
答案 0 :(得分:3)
因为换行符通常在html中不可见,所以你可以完全剥离它们
var text = document.getElementById("mydiv").innerHTML.replace(/\r?\n/g, '');