Есть ли способ подсчитать количество вхождений строки в DOM? (JavaScript / JQuery) - PullRequest
0 голосов
/ 31 октября 2018

Есть ли способ узнать количество вхождений значения в DOM в javascript или jQuery?

Как, например, если у меня есть

var x = "myFunc('hello');"

как посчитать количество вхождений "myFunc('hello');" во всем DOM?

1 Ответ

0 голосов
/ 31 октября 2018

Вы можете использовать совпадение с регулярным выражением и получить длину массива всех совпадений.

var matches = document.body.innerHTML.match(/myFunc\('hello'\)/g);
var count = matches ? matches.length : 0;

Делаем это с переменной:

var myVar = "myFunc\\('hello'\\)";
var re = new RegExp(myVar, "g");
var matches = document.body.innerHTML.match(re);
var count = matches ? matches.length : 0;

Обратите внимание, что вам нужно экранировать обратную косую черту в myVar, чтобы она передавалась буквально конструктору RegExp.

См. Экранирование переменной внутри регулярного выражения для функции, которая может использоваться для экранирования всех специальных символов в строке перед использованием ее в качестве регулярного выражения.

...