使用jQuery使用data-filter-class计算li元素

时间:2014-11-18 11:16:45

标签: jquery

我正在尝试使用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的新手,所以请原谅。

2 个答案:

答案 0 :(得分:0)

您的category_count没有正确的字符串插值,您需要像这样过滤:

var category_count = $('#cards li[data-filter-class="'+filterType+'"]').length;

答案 1 :(得分:0)

使用filterType时忘记关闭字符串,请参阅正确的代码

$('#cards li[data-filter-class="'+filterType+'"]').length;
相关问题