Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算类在带有Javascript的页面上出现的次数_Javascript - Fatal编程技术网

计算类在带有Javascript的页面上出现的次数

计算类在带有Javascript的页面上出现的次数,javascript,Javascript,我正在寻找一种解决方案,用Javascript计算类在页面上出现的次数 解决方案不应使用库,应与旧浏览器兼容 我能找到的唯一答案是使用jQuery或只适用于较新的浏览器。我认为您需要: var classCount = document.getElementsByClassName("className").length; alert(classCount); 您可以循环遍历所有元素,并使用特定类计算元素: var el = document.getElementsByTagName("*")

我正在寻找一种解决方案,用Javascript计算类在页面上出现的次数

解决方案不应使用库,应与旧浏览器兼容


我能找到的唯一答案是使用jQuery或只适用于较新的浏览器。

我认为您需要:

var classCount = document.getElementsByClassName("className").length;
alert(classCount);

您可以循环遍历所有元素,并使用特定类计算元素:

var el = document.getElementsByTagName("*");
var cnt = 0;
for (var i = 0; i < el.length; i++) {
    if (el[i].className == 'asdf') cnt++;
}

如果您需要Netscape支持,可以使用IE4中的
document.layers

matches = 0;

for(i = 0; i < document.all.length; i++)
{
   if(document.all(i).className.indexOf('votecell') != -1)
   {
       matches++;
   }
}
matches=0;
对于(i=0;i

“老”一词不够正式。Mosaic足够老了吗?
console.log(document.querySelectorAll('.classname').length)
相关:但它不能处理分配给同一元素的多个类。您必须分解/拆分类,然后进行检查。@Karl:我刚刚添加了代码。哇。创造性地使用getElementsByTagName。我一直在使用递归:)
matches = 0;

for(i = 0; i < document.all.length; i++)
{
   if(document.all(i).className.indexOf('votecell') != -1)
   {
       matches++;
   }
}