使用 insertAfter 添加时找不到 Jquery id

标签 jquery

加载页面后,用户可以添加一些文本,每次添加时,我都会添加一点“x”,以便可以删除文本。 但是当我在“x”的 id 上创建点击事件时,没有任何反应,我无法点击它。

我做错了什么?

$('<div>blabla<span id="remove">X</span></div>').insertAfter($("#add"));


$('#remove').click(function(){
    $(this).hide();

});

最佳答案

当您分配单击事件时,它只会将其添加到文档中当前的元素,而不是将来添加的元素。您需要使用live功能:

$('#remove').live( 'click', function(){ /* etc */ })

您需要 jQuery 1.3+ 才能正常工作。

注意:正如 Jan 在评论中指出的那样,每页只能有一个 ID。您应该将“remove”更改为一个类,并在上面的代码中使用 $('.remove')

关于使用 insertAfter 添加时找不到 Jquery id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874657/

相关文章:

javascript - 将段落动态保存为 PDF?

javascript - 在 php 之前运行 jQuery 脚本

jquery - 如何在特定时间段内调用Ajax请求?

javascript - AJAX 发布请求 URL 添加了奇怪的字符

jquery - 从serializeArray中排除多个输入

javascript - 如何将 wavesurfer js 与新的 Laravel 项目集成

jquery - 在下拉列表中动态选择项目时显示多个下拉列表

javascript - 编写回调函数

javascript - Vimeo Froogaloop - 未检测到暂停

jQuery CSS 魔法线