我无法使用jquery获取span的id

jem*_*emz 3 html javascript jquery event-handling

您好我如何使用jquery获取我的span的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);
    });
});
Run Code Online (Sandbox Code Playgroud)

//index.html

 <div class="wrapper-n">

    <ul id="myullist"></ul>
</div>
Run Code Online (Sandbox Code Playgroud)

编辑我将click事件更改为类'oncho',以便当我单击图标时我可以获得span id.

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

Tus*_*har 8

你错过了完成报价id:

'<span class="myspan" id="'+data[i].id+'"></span></li>';
//                                      ^
Run Code Online (Sandbox Code Playgroud)

UPDATE

使用nextspan不是的后代.oncho:

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

    var id = $(this).next('span').attr('id');
    //               ^^^^^
    console.log(id);
});
Run Code Online (Sandbox Code Playgroud)

  • @jemz,甚至更好,你能在http://jsfiddle.net中复制这个问题吗? (2认同)