我正在尝试从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中删除。 您的建议将不胜感激。
答案 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;