2017-09-27 40 views
1

有點難以解釋....我試圖獲得這個重複div的屬性。下面的代碼..獲取多個數據屬性

<div class="hidden-data"> 
    <div class="menu-data" data-title="About"></div> 
    <div class="menu-data" data-title="Team"></div> 
    ETC/ETC/ETC 
</div> 

現在我打電話......

var data = $(".menu-data").attr("data-title"); 

,並只獲得第一位的, '關於'。我想找到一種方法將每個'data-title'屬性傳遞給數組。

想法?我有點難倒在這裏,也有困難谷歌搜索這一個..

謝謝!

+0

你怎麼想的那些屬性將返回逗號分隔的? – Rex

+0

希望我可以讓他們進入數組。 –

回答

1

jQuery的

var array = []; 
$(".menu-data").each(function() { 
    array.push($(this).attr("data-title")); 
}); 

Js Fiddle

+0

你這個人,雷克斯!謝謝。得更多地鍛鍊我的推肌! –

+0

謝謝,請接受這個答案。 – Rex

0

這是因爲當你調用數據的方法jQuery對象上,它返回的數據在節點列表的第一個元素。要獲取所有div的數據,您必須使用$.each方法遍歷元素,或者使用映射來檢索列表中的屬性。

0

可以使用eq獲得平等的,你需要或使用each讓每一個

\t var data = $(".menu-data").eq(0).data('title'); 
 
    console.log('eq(0) : ' + data); 
 
    
 
    var data = $(".menu-data").eq(1).data('title'); 
 
\t console.log('eq(1): ' + data); 
 
    
 
    $(".menu-data").each(function(){ 
 
    console.log('each: ' + $(this).data('title')); 
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="hidden-data"> 
 
    <div class="menu-data" data-title="About"></div> 
 
    <div class="menu-data" data-title="Team"></div> 
 
    ETC/ETC/ETC 
 
</div>