用Javascript计算一个类在页面上出现的次数

Counting the number of times a class appears on a page with Javascript

本文关键字:计算 Javascript 一个      更新时间:2023-09-26

我正在寻找一个解决方案来计算一个类出现在使用Javascript的页面上的次数。

解决方案不应该使用库,并且应该与旧的浏览器兼容。

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

可以循环遍历所有元素,并对具有特定类的元素进行计数:

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

演示:http://jsfiddle.net/R5XUU/

这将在IE6和更高版本中工作。

如果页面有多个类名的元素,您需要在class属性中检查类名:

if ((' ' + el[i].className + ' ').indexOf(' asdf ') != -1) cnt++;

我想你需要这个:

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

应该可以在IE4中工作,如果您需要Netscape的支持,可以使用document.layers

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