我无法使用jquery获取span的id

时间:2015-06-19 05:59:24

标签: javascript jquery html 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);
    });
});

// index.html的

 <div class="wrapper-n">

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

修改我将点击事件更改为班级&#39; oncho&#39;所以当我点击图标时,我可以得到跨度id。

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

1 个答案:

答案 0 :(得分:8)

您错过了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);
});