如何检查特定字符串是否在 innerhtml 中?

How to check if a particular string is in the innerhtml or not?

让我们假设这里有一堆 html 这样的:

<p>High noon</p>
<p>Highest rank!</p>

使用 querySelectorAll 获取它们:

const pList = document.querySelectorAll("p");

那我想知道ES4中每个节点中是否存在字符串"high"


我尝试了 includes() 和 indexOf():

pList[0].innerHTML.includes("High")
pList[1].innerHTML.includes("High")
//or
pList[0].innerHTML.indexOf("High") !== -1
pList[1].innerHTML.indexOf("High") !== -1

但我得到的结果对于所有节点都是 true,而不是 pList[0] 为 true,pList[1] 为 false。

试试这个。基于正则表达式的解决方案。

var regex = /\bHigh\b/i;
regex.test(pList[0]);
regex.test(pList[1]);
//or
pList[0].innerHTML.search(regex) !== -1
pList[1].innerHTML.search(regex) !== -1