像这样获取DOM的元素
$('#id').content().text();
Run Code Online (Sandbox Code Playgroud)
问题出现了
如果它得到这个:
<p>Hello</p>
<p><br></p>
<p>World</p>
Run Code Online (Sandbox Code Playgroud)
自然在Html中看起来像:
Hello
World
Run Code Online (Sandbox Code Playgroud)
但是这个jquery .text()方法返回:HelloWorld
如何解释<br>为新线?< - >如何准确地获取HTML中我看到的文本?
.html()给出了我不想要的所有HTML标签.如果可能的话,我只需要带空格的纯文本.
jfr*_*d00 22
.text()是没有格式化的纯文本.它是字面上的文本节点,而没有任何其他HTML代码(包括由下式表示的新线的串联<br>或<p>代码,而不是通过新行).
.html() 是容器标记的确切HTML.
如果您使用此功能,它将使用新行为您提供文本的近似值:
var item = document.getElementById("id");
var text = item.innerText || item.textContent;
Run Code Online (Sandbox Code Playgroud)
它正在考虑这两者.textContent以及.innerText由于浏览器兼容性问题.
有关正常工作的演示,请参见http://jsfiddle.net/jfriend00/Xs5P3/.
Google搜索"HTML to text conversion"提供了许多调查选项.
| 归档时间: |
|
| 查看次数: |
17830 次 |
| 最近记录: |