javascript - 如何搜索网页上的文本是否与数组中的数据匹配?
问题描述
假设我在浏览器上打开了一个网页,其源代码如下:
<html>
<body>
<p>aaa</p>
<h1>yyy</h1>
<b>ccc</b>
</body>
</html>
我有一个 Greasemonkey 脚本,其中定义了一个 Javascript 数组,如下所示:
var array = ['aaa', 'bbb', 'ccc', 'asds'];
使用 JavaScript 或 JQuery,我如何搜索网页的整个文本以检查页面上的任何文本是否与数组中的任何文本匹配,而不知道文本可能位于哪个元素或类?
解决方案
我希望我有帮助
版本 1
var array = ['aaa', 'bbb', 'ccc', 'ddd', 'asds'];
var x = document.body.innerText;
array.forEach(y => {
if (x.indexOf(y) > -1) {
console.log(y);
}
});
<p>aaa</p>
<h1>yyy</h1>
<b>ccc</b>
<p><h2>ddd</h2></p>
版本 2
var array = ['aaa', 'bbb', 'ccc', 'ddd', 'asds'];
var x = document.body.children;
for (var i = 0; i < array.length; i++) {
for (var ii = 0; ii < x.length; ii++) {
if(array[i] === x[ii].innerText) {
console.log(x[ii]);
}
}
}
<p>aaa</p>
<h1>yyy</h1>
<b>ccc</b>
<p><h2>ddd</h2></p>
推荐阅读
- javascript - react.js moment.js 没有功能
- javascript - 如何等待 XMLHttpRequest 结束以在另一个页面中重定向用户?
- java - 正则表达式在java中验证用户名
- javascript - 为什么是第二值未在本地存储中设置?
- flutter - 在flutter应用程序中,renderflex在右侧溢出了7px
- sql-server - 根据 SQL Server 中另一个表的值更改列的值
- python - 当我尝试识别名词和动词时,Python nltk 显示错误
- html - 将 PNG 图像放置在 div 轮播中
- python - 使用 smtplib 发送的电子邮件以垃圾邮件结尾
- oracle - 在 ORACLE 中从 SYS 向 USER 授予权限时出错