我无法使用 jquery 获取跨度的 ID

I cannot get the id of the span using jquery

嗨,我如何使用 jquery 获取我的跨度的 ID。我尝试了一些尝试,但它没有用,没有任何东西正在登录控制台。

$(function () {

    for (var id = 0; i < data.length; i++) {
        var dynamicli = '<li class="">' +
            '<img src="path/to/image" class="_xy">' + data[i].name + '<i class="glyphicon glyphicon-user oncho"></i>' +
            '<span class="myspan" id="' + data[i].id + '></span></li>';
        $('#myullist').append(dynamicli);
    }

    $('#myullist').on('click', '.oncho', function () {
        var id = $(this).find('span').attr('id');
        console.log(id);
    });
});

//index.html

 <div class="wrapper-n">

    <ul id="myullist"></ul>
</div>

编辑 我将点击事件更改为 class 'oncho' 这样当我点击图标时我可以获得跨度 ID。

编辑:我尝试使用 find() 但我仍然无法获取未定义的 ID

您错过了 id 的完成报价:

'<span class="myspan" id="'+data[i].id+'"></span></li>';
//                                      ^

更新

使用 next 因为 span 不是 .oncho 的后代:

$('#myullist').on('click', '.oncho', function () {

    var id = $(this).next('span').attr('id');
    //               ^^^^^
    console.log(id);
});