javascript - 使用 jQuery 追加添加动态内容,然后访问它不起作用

标签 javascript jquery

我通过 jQuery 创建动态内容,如下所示:

$('#usersList tbody').append(' \
<tr id="user_4242" class="highlight-tr"> \
    <td class="users-list-name">Dan</td> \
    <td class="users-list-edit" data-userid="{{ $user->id }}" data-toggle="modal" data-target="#userEditModal"> \
        <button class="btn btn-default btn-sm edit-user-btn"><i class="glyphicon glyphicon-edit"></i> Edit</button> \
    </td> \
</tr> \
');

然后,我尝试访问 ".users-list-name" 中的内容与:

$('.users-list-edit', '#usersList').on('click', function () {
    var name        = $(this).parent().find('.users-list-name').text();
    console.log(name) // dynamic content not working here
});

#usersList是表的 id。

该点击功能适用于页面加载时已有的数据。

如何访问此动态附加内容中的数据?

最佳答案

您需要在已经存在的元素上添加监听器,然后等待 bobble 事件命中它。请尝试以下操作:

$(document).on('click', '.users-list-edit', function () {
  var name = $(this).parent().find('.users-list-name').text();
});

关于javascript - 使用 jQuery 追加添加动态内容,然后访问它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144051/

相关文章:

jquery - 是否可以仅使用 jQuery 发送电子邮件?

javascript - 将 Javascript "Class"原型(prototype)复制到对象

javascript - clearInterval - 出了点问题

javascript - 无法调用方法 'wsl_wordpress_social_login'

javascript - VS代码,编写绘制图表的扩展

javascript - 为什么附加文本区域只适用于 .text 而不是 .val?

javascript - CSS 显示内联 block 并用元素填充所有空间

javascript - Node.js - 等待多个异步调用

javascript - 当我将 javascript 代码放入外部 Site.js 文件中时,Ajax pagemethod 不起作用

javascript - 将 DOM 节点作为属性传递给 Polymer