Javascript 如何在使用$(';body';).text()时在元素之间添加空格?
例如,如果我创建一个包含以下内容的页面:Javascript 如何在使用$(';body';).text()时在元素之间添加空格?,javascript,html,jquery,Javascript,Html,Jquery,例如,如果我创建一个包含以下内容的页面: <body> <p> ABC DEF<p>GHI</p> JKL<br>MNO </p> </body> 但是当我现在使用$('body').text()时,我得到了: ABC DEFGHI JKLMNO 是否可以在元素之间添加空白?那么“DEFGHI”和“JKLMNO”实际上是两个词而不是一个 此处是指向示例的链接。使用html()代替text(),然后用空格替换b
<body>
<p>
ABC DEF<p>GHI</p>
JKL<br>MNO
</p>
</body>
但是当我现在使用$('body').text()
时,我得到了:
ABC DEFGHI
JKLMNO
是否可以在元素之间添加空白?那么“DEFGHI”和“JKLMNO”实际上是两个词而不是一个
此处是指向示例的链接。使用html()
代替text()
,然后用空格替换br
和p
标记
var text = $('body').html();
var str = text.replace( /<br\s*[\/]?>/gi, '\r\n'); // <br> to newline
var str2 = str.replace(/<\/?p[^>]*>/g, '\r\n'); // <p> to newline
var str3 = str2.replace(/ +/g, ' '); // multiple spaces to one
console.log(str3)
如果将替换为空空间'
而不是'\r\n'
,您将得到:
ABC DEF GHI
JKL MNO
- 这是第一个的一个例子
- 这是第二个的一个例子
DOMParser
解析HTML,并使用选择器获取所需内容。好的,我明白了。非常感谢。
ABC DEF
GHI
JKL
MNO
ABC DEF GHI
JKL MNO