所以我使用以下jQuery来获取HTML中包含类的所有项目的计数。然而,它没有正确返回,我觉得我错过了一些愚蠢的东西。
var counter = $("*[class^=box]").length;
JSFiddle例如:jsfiddle 此链接应返回1,但返回0.
修改
这是一个愚蠢的错误:我以前使用的ID只是box1,box2,box3等,所以它才有意义。我知道这很愚蠢。
var counter = $("*[class=box]").length;
答案 0 :(得分:3)
" 属性以选择器"开头。匹配属性,而不是必须的类名
这意味着这将匹配选择器
<div class="box0 emailbodytext" ...
因为属性以&#34;框&#34;开头,而这不是
<div class="emailbodytext box0" ...
因为属性不以&#34;框&#34;开头,即使其中一个类
这是解决问题的一种方法
var counter = $('*').filter(function() {
return this.className.split(/\s+/).filter(function(klass){
return klass.indexOf('box') === 0;
}).length;
}).length;
答案 1 :(得分:2)
您的选择器基本上会检查其类属性以“box”开头的元素。 您的class属性中有多个类名,因此您需要使用'contains'而不是'starts with'。 例如:
var counter = $("*[class*=box]").length;