Closed. This question is not reproducible or was caused by typos。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                
                    5年前关闭。
            
        

    

我有这个“清单”:

<div class="list">
    <div class="test" data-id="1"></div>
    <div class="test" data-id="2"></div>
    <div class="test" data-id="3"></div>
    <div class="test" data-id="4"></div>
    <div class="test" data-id="5"></div>
</div>


我需要获取所有元素的data属性,所以我这样做:

var _this = $('.list'),
    _el = _this.find('div');

var _id = $.map(_el, function(el) {
    return {name: 'offer-id', value: $(el).data('id')}
});


但是我得到的只是第一个元素的属性。小提琴:http://jsfiddle.net/4DRxz/

最佳答案

按照jQuery documentation,map函数将返回一个包含映射元素的数组。如果需要每一个,可以对其进行迭代。
喜欢:

for(var i=0; i<_id.length; i++){
   // do stuff with _id[i].value here
}


或使用其他答案建议的$.each

Updated fiddle

关于javascript - 如何从列表中获取每个元素的数据属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24541995/

10-11 11:16