【问题标题】:I cannot get the id of the span using jquery我无法使用 jquery 获取跨度的 id
【发布时间】:2015-09-02 12:52:03
【问题描述】:

您好,如何使用 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>

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

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

【问题讨论】:

  • 试试$(document).on('click','#myul .myspan',function(){
  • 您的代码看起来不错。你确定data[i].id 有值吗?
  • @ArunPJohny 我不认为这是必要的,因为#myul 已经存在于HTML
  • 你在 dom 就绪处理程序中是否有脚本
  • 是 $(function(){// 此处代码});

标签: javascript jquery html event-handling


【解决方案1】:

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

【讨论】:

  • @jemz 你可以添加有问题的完整代码,而不是算法
  • @AmmarCSE 我更新了我的帖子,它现在会记录但 id 未定义
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-21
  • 1970-01-01
  • 1970-01-01
  • 2021-07-14
  • 1970-01-01
相关资源
最近更新 更多