javascript - 如何获取除HTML之外的整个文档的文本内容?

标签 javascript jquery

所以我试图从当前页面获取所有文本。我正在使用 $('body').text() 但它似乎没有像我希望的那样工作。当我这样做时,它也会返回一些 javascript。我只想搜索可见文本。有办法做到这一点吗?

最佳答案

以下内容将为您提供您想要的。不过,也有一些注意事项。

console.log(jQuery('body *:not(script,style,noscript)').text());
<p>Needs me some text</p>
<style>
noscript { font-weight: bold; }
</style>
<noscript>
<div>whatever dude, I don't script anyway</div>
</noscript>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

看到那个*了吗?这意味着作为 body 后代的每个元素。因此 :not() 应用于页面上的每个元素,检查它是否是 scriptstylenoscript.如果幸运的话,您的浏览器本身就支持此功能,因此它会使用一些相对快速的代码来完成此操作,因为根据页面的大小及其中元素的数量,可能需要相当长的时间来进行检查。

关于javascript - 如何获取除HTML之外的整个文档的文本内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41838362/

相关文章:

javascript - 计算 RGB 颜色之间的褪色值的有效方法?

javascript - 如何使用转换将元素位置从 x1 转换为 x2?

javascript - 此 jQuery getJSON AJAX 调用的回调方法存在问题

javascript - 在 windows 8 html5 的挂起状态事件处理程序中写入文本文件

javascript - 如何在新加载的页面上使用相同的 JavaScript 代码(来自重定向)

jquery - 在哪里存储 jQuery 的 html 代码?

jQuery:Chrome 中的 Ajax 请求中止

live - 你可以将 jQuery .css() 与 .live() 一起使用吗?

javascript - ng-repeat完成事件在排序后不起作用

javascript - Ignite UI IgCurrencyEditor