我发现了一个奇怪的错误(?)与textareas ...
说,有一个<textarea>
带有多行文字(用户粘贴的文字或预先设定的文字无关紧要,经过两者测试)。
我希望从<textarea>
获取文字并将\n
替换为其他内容......原来,.replace
仅适用于第一行。
这是代码,看看我的意思:
<textarea id="txt">line1
line2
line3
line4</textarea>
<script>
var strval = document.getElementById("txt").value.replace("\n", "<br>");
// strval returns this:
// line1<br>line2
// line3
// line4
</script>
我使用Chrome和Firefox进行了测试。这是一个jsfiddle https://jsfiddle.net/aapgejvb/
很奇怪吧?我刚刚在WebKit中发现了一个错误,还是我很蠢? PS。用jQuery的.val()
测试,结果相同(显然)
PPS。找到this,没有多大帮助
答案 0 :(得分:3)
.replace("\n", "<br>")
只会替换\n
(换行符)的第一次出现。
要替换所有内容,您应该使用replace(/\n/g, "<br />");