我正在尝试使用data-filter-class“men”计算li元素。以下是代码段。
<ul id="cards">
<li data-filter-class="men"></li>
<li data-filter-class="women"></li>
<li data-filter-class="men"></li>
<li data-filter-class="kids"></li>
<li data-filter-class="women"></li>
<li data-filter-class="men"></li>
</ul>
var filterType ='men'; //filter type received at runtime.
var category_count = $('#cards li[data-filter-class="+filterType+"]').length;
console.log(filterType + " count " + category_count);
结果:0 预计:3
实际上
var category_count = $('#cards > li').length;
结果:6
有人可以指出我在第一个查询中出错了吗? 我是学习jQuery的新手,所以请原谅。
答案 0 :(得分:0)
您的category_count
没有正确的字符串插值,您需要像这样过滤:
var category_count = $('#cards li[data-filter-class="'+filterType+'"]').length;
答案 1 :(得分:0)
使用filterType
时忘记关闭字符串,请参阅正确的代码
$('#cards li[data-filter-class="'+filterType+'"]').length;