有没有办法计算 DOM 中某个字符串出现的次数? (javascript/jQuery)

Is there a way to count number of occurrences of a string in the DOM? (javascript/jQuery)

有没有办法找到 DOM 或 javascript 或 jQuery 中某个值出现的次数?

比如我有一个

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

如何统计"myFunc('hello');"在整个DOM中出现的次数?

您可以使用正则表达式匹配,并获取所有匹配数组的长度。

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 构造函数。

请参阅 Escape a variable within a Regular Expression 了解可用于在将字符串用作正则表达式之前转义字符串中所有特殊字符的函数。