如何从 HTML 元素中获取换行项



我基本上以这种方式从元素中抓取文本:

var paragraphElement = document.getElementById("para");
var paragraphText = paragraphElement.innerText;

但是,我不知道如何从内部文本中抓取换行符......或者也许innerText丢失了这些信息,我需要以另一种方式获取它来提取信息?

换行符在那里(作为不可见的换行符(。要使它们在 HTML 中可见,您需要将white-space: pre-wrap;应用于显示文本的元素。

若要查找换行符,请使用以下正则表达式:

/(rn|n|r)

text.addEventListener('input', e => {
test.textContent = text.value.replace(/(rn|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>

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>

最新更新