猿问

使用 $('body').text() 时如何在元素之间添加空格?

例如,如果我创建一个包含以下内容的页面:


<body>

<p>

ABC DEF<p>GHI</p>

JKL<br>MNO

</p>

</body>

然后我进入浏览器:


ABC DEF


GHI


JKL

MNO

但是当我现在使用$('body').text()时,我又回来了:


ABC DEFGHI

JKLMNO

是否可以在元素之间添加一个空白空间?所以“DEFGHI”和“JKLMNO”实际上是两个词而不是一个词?


这里是jsfiddle示例的链接。



米脂
浏览 145回答 1
1回答

慕斯王

使用html()instead oftext()然后用空格替换brand标记。pvar text = $('body').html();var str = text.replace( /<br\s*[\/]?>/gi, '\r\n'); // <br> to newlinevar str2 = str.replace(/<\/?p[^>]*>/g, '\r\n'); // <p> to newlinevar str3 = str2.replace(/&nbsp; +/g, ' '); // multiple spaces to oneconsole.log(str3)产生与 HTML 完全相同的结构,但在文本中ABC DEFGHIJKLMNO如果你将替换为空白' '而不是'\r\n'你会得到:ABC DEF GHI&nbsp;JKL MNO这是第一个的工作示例。这是第二个的工作示例。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答