循环遍历jQuery对象并获取数据值

时间:2014-04-04 16:54:50

标签: jquery custom-data-attribute

我有一个jQuery对象,我可以通过以下代码获得:

var elements = $('#all_cats_holder div.wSelect-option-selected').detach();

它获得的代码将是:

<div class="wSelect-option wSelect-option-selected"><div class="wSelect-option-value" data-val="2">Some stupid cat #2</div></div>
<div class="wSelect-option wSelect-option-selected"><div class="wSelect-option-value" data-val="3">Some stupid cat #3</div></div>
<div class="wSelect-option wSelect-option-selected"><div class="wSelect-option-value" data-val="4">Some stupid cat #4</div></div>

现在我正在尝试遍历这些数据并获得data-val的值,但我似乎无法让它工作。

我的代码:

var mr_val;

$.each(elements, function(index, el) {

    mr_val = el.data('val');

    alert(mr_val);            

});

我根本没有得到警报。

1 个答案:

答案 0 :(得分:2)

为什么不把它变成一个带有$ .map

的数组
var mr_val = $.map(elements, function(el) {
    return $(el).find('[data-val]').data('val');
});

FIDDLE

或与每个

var mr_val;

$.each(elements, function(index, el) {

    mr_val = $(el).find('div').data('val');

    alert(mr_val);            

});