JavaScript,无法检测换行符

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

最佳答案

因为换行符在 html 中通常是不可见的,所以你可以完全去掉它们

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

关于JavaScript,无法检测换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10619594/

相关文章:

javascript - Redux 如何改变 React 中的 UI?

JavaScript 在隐藏文本字段时将其设置为空

javascript - react browserHistory.push 给出未捕获的类型错误 : Cannot read property 'push' of undefined

java - 我们在 java 中是否有一些占位符用于字符串,因为我们在 SQL 准备语句中有(?)

Javascript正则表达式替换下一个匹配

javascript - D3.js 通过使用 Spectrum.js 的函数为节点圆圈着色

javascript - beautifulsoup 与内部 javascript

java - 为什么我会收到此 java 方法相关错误?

java - 将一种方法的输出替换为另一种方法的输出

javascript - 如何使用 JavaScript 从字符串中删除字符?