Как проверить, есть ли конкретная строка в innerhtml или нет?

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

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

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

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

Затем я хочу знать, существует ли строка "высокий" в каждом узле в 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 ответ

Решение

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

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
Другие вопросы по тегам