如何搜索网页上的文本是否与数组中的数据匹配?
How to search if text on a webpage matches data in an array?
假设我在浏览器中打开了一个网页,其源代码如下:
<html>
<body>
<p>aaa</p>
<h1>yyy</h1>
<b>ccc</b>
</body>
</html>
我有一个 Greasemonkey 脚本,它有一个 Javascript 数组定义如下:
var array = ['aaa', 'bbb', 'ccc', 'asds'];
使用 JavaScript 或 JQuery,我如何在不知道哪个元素或 class 文本可能存在?
希望对您有所帮助
版本 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>
假设我在浏览器中打开了一个网页,其源代码如下:
<html>
<body>
<p>aaa</p>
<h1>yyy</h1>
<b>ccc</b>
</body>
</html>
我有一个 Greasemonkey 脚本,它有一个 Javascript 数组定义如下:
var array = ['aaa', 'bbb', 'ccc', 'asds'];
使用 JavaScript 或 JQuery,我如何在不知道哪个元素或 class 文本可能存在?
希望对您有所帮助
版本 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>