2014-11-18 5 views
0

Я пытаюсь подсчитать элементы li с помощью «men» класса фильтра данных. Ниже приведен фрагмент кода.Подсчет элементов li с классом фильтра данных с использованием jQuery

<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, поэтому, пожалуйста, извините меня.

+3

Используйте кавычки правильно ' $ ('# cards li [data-filter-class = "' + filterType + '"]'). length; ' – Satpal

+0

Спасибо, что теперь это работает с фиксированными квотами. – vinitb4u

ответ

0

Вашего category_count не имеет правильную строку интерполяции, вы хотите, чтобы фильтр как так:

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

Вы забыли закрыть строку, используя filterType см правильного кода

$('#cards li[data-filter-class="'+filterType+'"]').length; 
Смежные вопросы