📅  最后修改于: 2023-12-03 15:23:53.492000             🧑  作者: Mango
当我们需要从网页上获取特定文本时,常常会使用 JavaScript 来获取 HTML 元素的内容,例如:
<p id="my-text">Hello World!</p>
<script>
var text = document.getElementById("my-text").innerHTML;
console.log(text); // 输出:Hello World!
</script>
但是如果文本并没有被包含在 HTML 元素中,那该怎么办呢?
比如下面的例子:
<div>
This text is not inside any HTML element!
</div>
如果我们试图使用 getElementById
或者其他获取 HTML 元素的方法,都会失败,因为并没有对应的元素。
那么怎么获取这个文本呢?其实也很简单,只需使用 JavaScript 提供的 document.body.innerText
属性即可:
<div>
This text is not inside any HTML element!
</div>
<script>
var text = document.body.innerText.trim();
console.log(text); // 输出:This text is not inside any HTML element!
</script>
这里使用了 document.body.innerText
属性来获取整个文档的文本内容,再通过 trim()
方法去除空白字符,得到了我们需要的文本。
需要注意的是,这种方式获取到的文本内容可能包含一些不需要的部分,比如脚本、样式等,需要自行进行处理。
总的来说,使用 JavaScript 获取没有 HTML 元素的文本也不难,只需使用 document.body.innerText
属性即可轻松解决。