2016-02-01 86 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

where'attr(「data-flower」)'defined defined? –

回答

1

在for循環中,items[i]是一個簡單的javascript對象,您需要做的事情是使用data()函數,然後您需要將它轉換爲像這樣的$(items[i])這樣的jQuery對象。

$('.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

我thnk你沒有注意到這一行'console.log(items [i] .data('item')-----> data is not a function' – codeBloger

+0

@codeBloger我更新了我的答案,你會明白的爲什麼它不工作 – RRK

+1

其作品..謝謝兄弟 – codeBloger