2015-10-06 38 views
1

我想獲取每個ID在每個div的數據id在特定的div。結果,我得到[7,7,7,7]但我只有3個不同的數據ID的div?無法獲得data-id爲每個div與數據屬性

這裏是我的html:

<div id="activated_blocs"> 
    <div class="bloc-row" data-id="7"> 
    <div class="bloc-row" data-id="9"> 
    <div class="bloc-row" data-id="8"> 
</div> 

這裏是我的jQuery,這是不工作...

var good_order = $('#activated_blocs').find('.bloc-row'); 
    var test_array = []; 
    $.each(good_order, function() { 
     test_array.push(good_order.data('id')); 
    }); 
    console.log(test_array); 

如何讓我的數組[7,9,8]

回答

2

因爲在循環中需要使用當前元素,good_order是一個引用多個元素的jQuery對象,調用.data('id')就會始終返回該集合中第一個元素的data-id值。

var good_order = $('#activated_blocs').find('.bloc-row'); 
 
var test_array = good_order.map(function() { 
 
    return $(this).data('id') 
 
}).get(); 
 
snippet.log(JSON.stringify(test_array));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> 
 
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> 
 
<div id="activated_blocs"> 
 
    <div class="bloc-row" data-id="7"></div> 
 
    <div class="bloc-row" data-id="9"></div> 
 
    <div class="bloc-row" data-id="8"></div> 
 
</div>

+0

你說得對,我完全忘記了$(本)。謝謝! –