Как проверить, есть ли конкретная строка в innerhtml или нет? - PullRequest
0 голосов
/ 03 июня 2019

Давайте предположим, что здесь есть несколько HTML, как это:

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

Использование querySelectorAll, чтобы получить их все:

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

Тогда я хочу знать, существует ли строка "high" в каждом узле в ES4.


Я попробовал оба включает () и indexOf ():

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

Но все, что я получил, верно для всех узлов, а не для pList [0] и false для pList [1].

1 Ответ

1 голос
/ 03 июня 2019

Попробуйте это. Решение на основе регулярного выражения.

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
...