javascript - 为什么它不能通过 jQuery 找到 id 值

标签 javascript jquery soundcloud

我正在制作一个应用程序,该应用程序通过 JSON 文件获取一些 URL,并根据这些 URL 从 SoundCloud API 获取一些数据。到目前为止没有问题。但是当它加载数据时,它把每一个都放在一个 <li> 中标签。每个标签都有一个基于收集到的数据的 id 值。现在我想获得每次点击的值(value) <li>标签。但它不起作用。我想是因为它是动态制作的,但不知道有什么解决办法。

这是我加载数据的代码:然后是显示点击的函数 <li>在控制台中:

$.each(data.PlayListArray, function(key, val){
                var track = answer[val.URL];
                var trackTitle = track.title;
                
                    $(".playerList .list").append(
                    "<li id=" + track.id +">" + 
                    "<h3 class=\"songTitle\">" + track.title + "</h3>" +
                    "</li>");
});

$(".playerList .list li").click(function(){
    console.log($(this).attr('id'));
});

这是完整代码的演示:http://jsfiddle.net/danials/3JsJe/3/

有什么想法吗?

最佳答案

使用event-delegation因为您是在运行时附加这些元素。

$(".playerList .list").on('click','.playerList .list li',function(){
 console.log(this.id); 
});

关于javascript - 为什么它不能通过 jQuery 找到 id 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24457975/

相关文章:

javascript - Webkit-playsinline 在 iphone 上

javascript - jQuery onClick 自定义上下文菜单

php - 将 PHP 变量传递到 jQuery 模态窗口

javascript - 以更短的方式从数组中获取字符串

javascript - 如何使用 jQuery/Javascript 将事件从一个选项卡/窗口发送到另一个选项卡/窗口

使用其他提供商身份验证服务(例如 Soundcloud)时 token 身份验证的安全性?

Soundcloud:如何在上传轨道后立即知道声云轨道 ID?

JavaScript - : var DndUpload = function (inputElem){}; 的含义

javascript - 如何通过单击力导向网络中的节点来更新外部条形图

javascript - 插入带有innerHTML的Facebook登录按钮在Chrome中不起作用