如何使用javascript获取HTML正文的内容?

时间:2014-08-12 20:15:13

标签: javascript html

我正在尝试从HTML正文内容中获取所有引用。 目前我处于这种状态:

<!DOCTYPE html>
<html>
<body>
<p id="demo">
<pre> This is my text "with some quotes" and some "more" quotes. </p>

<button type="button" onclick="myFunction()">Get quotes</button>

<script>
function myFunction() {
var text = document.body.innerHTML;
var quotes =text.match(/"([^"]+)"/g);
for (var i = 0; i < quotes.length; i++) {
document.write(quotes[i] + "<br />" + "<br />");
  }
}
</script>
</body>
</html>

但是我得到了代码中的所有引号,如下所示:     “演示”

"with some quotes"

"more"

"button"

"myFunction()"

"([^"

"/g); for (var i = 0; i < quotes.length; i++) { document.write(quotes[i] + "

" + "

当我真的只需要这个时:

"with some quotes"

"more"

你有什么想法我怎么解决这个问题? 我试着将内容直接写入var text并且一切正常,但是我想自动将内容从body中删除。 您的建议将不胜感激。

2 个答案:

答案 0 :(得分:5)

您可以更改

var text = document.body.innerHTML;

var text = document.body.innerText;

从内容中检索而不包含HTML

编辑:如果您不能使用jQuery,您可能希望使用innerText和textContent属性的组合来获得更加跨浏览器友好的解决方案。 示例:http://help.dottoro.com/ljhvexii.php

答案 1 :(得分:1)

不要访问body元素,只访问p元素。然后,您将无法从文档的其余部分获取引用的项目:

document.getElementById('demo').innerHTML;