我有一套没有正确显示的笔记。查看源代码,换行符应该是

。我想用<br>
替换这些实例。我使用了一个书签,它可用于明文字符串,例如ABC
,但它不适用于给定的字符串。
例如,这个工作正常:
javascript:(function(){var re = new RegExp("ABC", "g"); document.getElementById('my_span').innerHTML=document.getElementById('my_span').innerHTML.replace(re, "<br>" );})();
虽然这不是:
javascript:(function(){var re = new RegExp("
", "g"); document.getElementById('my_span').innerHTML=document.getElementById('my_span').innerHTML.replace(re, "<br>" );})();
奇怪的是,后者将采用

的第一个实例,只需删除它而不替换它。
我正在使用的页面不会加载jQuery,而且我在公司环境中工作,因此我不愿意在外部打电话。
与innerHTML
未收到

的情况有关吗?非常感谢你的帮助。
答案 0 :(得分:0)
它与您说的完全一样:innerHTML
没有按照您的预期接收这些字符。将字符实体插入HTML会导致它们被解释,innerHTML
将返回解释的版本,而不是原始版本。如果你有:
<p id="test">Cookies & Cream</p>
你使用:
document.getElementById('test').innerHTML;
你没有得到:
Cookies & Cream
你得到:
Cookies & Cream
同样,当您在书签中使用innerHTML
时,您仍未获得

:您正在获得回车和换行。
要将这些字符与正则表达式匹配,请使用\r\n
。 \r
将匹配回车符(
)。虽然\n
会与换行符匹配(&xa;
)。
var regex = new RegExp('\r\n', 'g');