像这样获取DOM的元素
$('#id').content().text();
出现问题
如果它得到了:
<p>Hello</p>
<p><br></p>
<p>World</p>
自然在Html中看起来像:
Hello
World
但是这个jquery .text()
方法返回:HelloWorld
如何将<br>
解释为新行? &LT; - &GT;如何准确地获取HTML中的文字?
.html()
提供了我不想要的所有HTML标记。如果可能的话,我只需要带空格的纯文本。
答案 0 :(得分:21)
.text()
是没有格式化的纯文本。它实际上是没有任何其他HTML代码的文本节点的串联(包括由<br>
或<p>
标记表示的新行,而不是换行符。
.html()
是容器标记的确切HTML。
如果您使用此功能,它会通过新行为您提供文本的近似值:
var item = document.getElementById("id");
var text = item.innerText || item.textContent;
由于浏览器兼容性问题,它正在查看.textContent
和.innerText
。
有关正常工作的演示,请参阅http://jsfiddle.net/jfriend00/Xs5P3/。
Google搜索“HTML to text conversion”提供了很多可供调查的选项。