2016-02-01 3 views
-1

у меня есть меню и в меню выберите Я хочу, чтобы фильтровать мой DIV по моим данным меню значение атрибута Вот образец моего кодаJquery массив отображается неправильно

<li class="menu" data-cat="flower"> 
<li class="menu" data-cat="car"> 



<div class="item" data-item="lily"></div> 
<div class="item" data-item="Audy"></div> 
<div class="item" data-item="BMW"></div> 
<div class="item" data-item="sunflower"></div> 

JQuery:

$('.menu').on("click",function(e){ 
    var menu=$(this).attr("data-cat"); 
    /* 
    console.log(menu) ; // displaying car 
    var items=$('.item'); 
    for(var i; i<items.length;i++) { 
     console.log(items[i].attr('data-items')) 
     /* 
     console.log(items[i].length) ----- > length not define 
     console.log(items[i].data('item') ----- > data is not a function 
     */ 
    } 

на console.log(items[i]) будет отображать <div class="item" data-item="BMW"></div>

my orignal screenshot

+1

где 'attr (" data-flower ")' определено? –

ответ

1

В цикл, items[i] простой JavaScript Object, что вам нужно сделать для того, чтобы использовать data() функцию, то вам нужно преобразовать его в объект JQuery как этот $(items[i]).

$('.menu').on("click",function(e){ 
    var menu = $(this).attr("data-flower"); 
    var items = $('.item'); 
    for(var i; i < items.length; i++) { 
     console.log($(items[i]).data('item')); 
    } 
}); 
+0

i thnk вы не заметили эту строку 'console.log (items [i] .data ('item') -----> data не является функцией' – codeBloger

+0

@codeBloger Я обновил свой ответ, вы поймете почему это не сработало. – RRK

+1

его работы .. спасибо – codeBloger

Смежные вопросы