Jquery 函数返回选择器而不是值

Jquery 函数返回选择器而不是值,jquery,jquery-selectors,Jquery,Jquery Selectors,这将返回$id,而不是其值。我做错了什么?如果您只想检索数据提供id属性的值,您可以使用jQuery.each()循环通过元素 下面将输出从1到6的ID: var _el = $('ul').find('li'); var _id = _el.each(function() { var ids = {}; $($(this).data('offer-id')).each(function() { if (this !== '') { i

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

如果您只想检索
数据提供id
属性的值,您可以使用jQuery
.each()
循环通过
  • 元素

    下面将输出从1到6的ID:

    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);
    
    如果您想将其放在数组中,只需将数据属性值推送到循环中即可

    下面将输出
    [1,2,3,4,5,6]

    $('li').each(function() {
    
        console.log($(this).data('offer-id'));
    });
    

    希望这能有所帮助。

    我想您是在寻找.map()而不是.each()。循环中变量
    id
    Object.keys(id)
    )的值是多少?-不应该是
    ids
    不确定要做什么,但代码看起来不正确<代码>这个!==''?,
    ids[this]=this
    ?,
    $($(this)
    ?当我使用map时,我得到的是数组,我需要分开的字符串…你能分享html示例吗,比如目标是什么?获取
    数据提供id
    属性值?因此,循环通过
    li
    元素并获取属性。与只给出工作代码相比,最好的回答问题的方法是解释为什么操作代码是不起作用,以及如何更正。只给出代码而不做任何解释对他和其他未来读者都没有帮助。@OlivierH你是对的。我本可以提供更多信息。但我看不出这个答案有任何理由让我投了2票反对票……如果你编辑你的答案,我会很高兴投你一票。
    var ids = [];
    
    $('li').each(function() {
    
        ids.push($(this).data('offer-id'));
    });
    
    console.log(ids);