所有。我一直在做一些挖掘,似乎仍无法解决这个问题。
我试图通过发生的每一行来分解一些文本。但是,没有任何形式的regEx换行符或回车符似乎与split()一起使用。
编辑:是不是我还没有手动插入任何换行符/换行符?是否在函数运行时没有生成换行符? (这不会有意义,因为它在体内。
这是我的练习代码:
<!DOCTYPE html>
<html>
<body>
<p>Click the button to perfom a global search for the letters "ain" in a string, and display the matches.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo" style="width:490px; background:#ddd;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur at commodo enim. Integer dolor elit, elementum vitae mollis eu, lobortis fringilla diam. Maecenas consectetur malesuada sodales. Fusce nec est est, ut bibendum orci. Aenean tellus lectus, consectetur <br> a mattis a, lobortis sit amet mauris. In vitae orci odio. Integer id massa ac elit suscipit bibendum. Vivamus a magna vitae felis ullamcorper elementum. Mauris aliquam euismod elit a mattis. Nam eu felis sed dolor sodales egestas. Sed quis quam augue. Proin bibendum iaculis felis vel pretium. Praesent ultrices sapien eget ante convallis ac iaculis lectus porta. Quisque vel lectus vel nibh facilisis auctor. Donec ac erat est, non pulvinar urna.</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var res = str.split(/[\r\n]+/); //PROBLEM HERE???
var line = res[0];
document.getElementById("demo").innerHTML += '<br><br>' + line;
}
</script>
</body>
</html>
我尝试了许多正则表达式,似乎没什么用。
/\r/
/\n/
/\r\n/
/\r?\n/
/\r?\n/g
/[\r\n]+/
可能还有更多。返回的值始终为&#34;未定义&#34;。
请帮忙!
答案 0 :(得分:0)
innerHTML
代表HTML,因为它写在您的文档中(或者可能稍微规范化)。 DOM表示页面的语义内容;布局发生在DOM上,但是仅显示换行等视觉效果,而不会反映回DOM。如果你确定了,很可能有办法确定线条的包装方式,但这可能不是一件容易的事。如果这是你有兴趣做的事情,也许可以看到另一个问题:Can I use the browser's word-wrapping from JavaScript?