函数返回选择器而不是值

时间:2014-07-03 09:25:08

标签: jquery jquery-selectors

var _el = $('ul').find('li');

var _id = _el.each(function() {
    var ids = {};

    $($(this).data('offer-id')).each(function() {
        if (this !== '') {
            ids[this] = this;
        }
    });
    var $id = Object.keys(id);
    var $id_ = $id.toString();

    return $id;
});
console.log(_id);

这将返回$id而不是其值。我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您只想检索data-offer-id属性的值,可以使用jQuery <li>循环遍历.each()元素。

以下将输出1到6的ID:

$('li').each(function() {

    console.log($(this).data('offer-id'));
});

如果你想要它在数组中,只需在循环中推送数据属性值。

以下内容将输出[1, 2, 3, 4, 5, 6]

var ids = [];

$('li').each(function() {

    ids.push($(this).data('offer-id'));
});

console.log(ids);

希望这有帮助。