我基本上是通过这种方式从元素中获取文本的:
var paragraphElement = document.getElementById("para");
var paragraphText = paragraphElement.innerText;
但是,我不知道如何从innerText中获取换行符...或者innerText丢失了此信息,我需要以另一种方式来提取信息吗?
答案 0 :(得分:0)
innerHTML
获取或设置元素中包含的HTML或XML标记。
您是否正在寻找类似的东西?如果没有,请告诉我。
var paragraphElement = document.getElementById("para");
//var paragraphText = paragraphElement.innerText;
var withBreakLines = paragraphElement.innerHTML.split('<br>');
var output='';
for(var i=0;i<withBreakLines.length;i++){
output = output+withBreakLines[i]+"\\n"+" ";
}
console.log(output);
//document.documentElement.outerHTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<p id="para">hfjksdjhiusdfj<br>ginins<br>sdfsdfsd</p>
</body>
</html>
答案 1 :(得分:0)
有换行符(作为不可见的换行符)。为了使它们在HTML中可见,您需要将white-space: pre-wrap;
应用于显示文本的元素。
要查找换行符,请使用以下正则表达式:
/(\r\n|\n|\r)
text.addEventListener('input', e => {
test.textContent = text.value.replace(/(\r\n|\n|\r)/gm,"…");
})
#test { white-space: pre-wrap; border : 1px solid #999; min-height: 1em; }
<textarea style="width: 400px; height: 120px" id="text"></textarea>
<h2>Text will show up in the subsequent div when you type</h2>
<div id="test"></div>