如何在一个元素中查找多个单词,然后提示我找到了哪些单词?

时间:2019-04-25 11:39:36

标签: javascript tampermonkey

Greasemonkey新手在这里。因此,从本质上讲,我正在寻找具有文本内容的元素中的特定关键字(也许在更多地方无处不在),并且如果找到其中一个或多个这些单词,我将尝试让我的脚本重复给我它在警报消息中找到了哪些。我一直在通过其他SO问题找到一整套解决方案,这些问题与我要寻找的问题非常接近,但并不完全符合我的需要。

我在这里的上一个问题是关于数组的,而我又在讨论另一个数组混乱。这是我认为应该有效的方法,但还没有运气。我在做什么错了?

   var keywords = ["maybe","more","everywhere"]
   var searcharea = document.querySelector('#content > div > section > div.hero-body > div > div > div > p')

if(searcharea.innerHTML.indexOf(keywords) !== -1) {
        keywords.forEach(item=> {
    console.log ("Hey! We found the words" + item + "in this message!");
    }
}

我也在尝试使用类似的东西,这会让我走上正确的轨道吗?

var words = searcharea.innerHTML.split(" ");

1 个答案:

答案 0 :(得分:0)

像这样尝试:

var keywords = ["maybe","more","everywhere"]
var searchArea = document.querySelector('#content > div > section > div.hero-body > div > div > div > p')
var searchString = searcharea.innerText

keywords.forEach(keyword => {
  if(searchString.indexOf(keyword) !== -1) 
    console.log(`Found ${keyword}!!`)
})