Как проверить, есть ли конкретная строка в 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