例如,如果我创建一个包含以下内容的页面:<body><p>ABC DEF<p>GHI</p>JKL<br>MNO</p></body>然后我进入浏览器:ABC DEFGHIJKLMNO但是当我现在使用$('body').text()时,我又回来了:ABC DEFGHIJKLMNO是否可以在元素之间添加一个空白空间?所以“DEFGHI”和“JKLMNO”实际上是两个词而不是一个词?这里是jsfiddle示例的链接。
1 回答
![?](http://img1.sycdn.imooc.com/533e4c640001354402000200-100-100.jpg)
慕斯王
TA贡献1864条经验 获得超2个赞
使用html()instead oftext()然后用空格替换brand标记。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)
产生与 HTML 完全相同的结构,但在文本中
ABC DEF
GHI
JKL
MNO
如果你将替换为空白' '而不是'\r\n'你会得到:
ABC DEF GHI
JKL MNO
添加回答
举报
0/150
提交
取消