Jquery 删除在colorbox中动态创建的元素

Jquery 删除在colorbox中动态创建的元素,jquery,colorbox,Jquery,Colorbox,我有一个在颜色框窗口中显示的配置文件列表。列表中的每个项目都有一个“+”按钮,用于将它们添加到最终列表中。 我添加了一个检查(if($('#id')。length==0))来检查元素是否已经在最终列表中,并防止它在列表中添加两次 第一次加载colorbox时,一切正常。但当colorbox关闭并重新打开时,if条件失败,因为元素未在$.colorbox.close事件中销毁。元素仍然存在于文档中,但不会显示在colorbox窗口中,因为内容已从外部url重新加载。这会显示“此成员已在列表中”的警

我有一个在颜色框窗口中显示的配置文件列表。列表中的每个项目都有一个“+”按钮,用于将它们添加到最终列表中。 我添加了一个检查(if($('#id')。length==0))来检查元素是否已经在最终列表中,并防止它在列表中添加两次

第一次加载colorbox时,一切正常。但当colorbox关闭并重新打开时,if条件失败,因为元素未在$.colorbox.close事件中销毁。元素仍然存在于文档中,但不会显示在colorbox窗口中,因为内容已从外部url重新加载。这会显示“此成员已在列表中”的警报框,即使“最终列表”为空

$(文档)。在('单击',“a.将\添加到\列表”,函数()上{
var new_id='final_'+$(this).data('id');
var html='
  • User 1
    @user1
    Description

  • 在最终列表中添加的元素

    <ul id="final-list"><li id="final-user1"><a class="right remove label label-important" data-id="final_user1"><i class="icon-plus icon-white"></i></a><a href="http://localhost/test/profile/user1" class="align-left">
          <img width="60px" height="60px" src="http://localhost/test/files/profile_img/user1.jpg" class="avatar photo"></a><p>User 1</a><br>@user1<br>Description</p></li></ul>
    
    • User 1
      @user1
      说明
    现在我想销毁colorbox.close事件上的元素,以便在第二次打开colorbox时,它们不应出现在文档中。 我尝试将colorbox.close事件的执行从close()方法更改为remove()方法。 它完成了任务,但删除了完整的colorbox元素,这会阻止在重新加载页面之前再次打开colorbox

    $(document).on('click', "a.remove", function() {
     remove_id = $(this).data('id');
     $('#'+remove_id).remove();
    });
    
    使用此..$(this).data('id')已包含“final\”。无需再次追加它


    使用此..$(this).data('id')已包含“final”。无需再次追加它

    我想,我发现了此问题的原因。 我在colorbox的“onComplete”函数中添加了jQuery代码。 现在,在第二次加载colorbox之后,相同的jquery代码再次添加到文档中,这导致click事件触发两次

    现在我有两个选择

  • 使用colorbox的onComplete函数之外的代码。(我无法让代码以这种方式工作)
  • 在关闭colorbox时删除加载的jquery代码

  • 请帮我找到解决这个问题的方法。

    我想,我找到了这个问题的答案。 我在colorbox的“onComplete”函数中添加了jQuery代码。 现在,在第二次加载colorbox之后,相同的jquery代码再次添加到文档中,这导致click事件触发两次

    现在我有两个选择

  • 使用colorbox的onComplete函数之外的代码。(我无法让代码以这种方式工作)
  • 在关闭colorbox时删除加载的jquery代码

  • 请给我一个解决方案来解决这个问题。

    对不起,兄弟,我错过了一些在发布前被意外删除的部分。现在它又被添加了。我的动机是在colorbox关闭时销毁新的列表项ID。其他一切正常。对不起,兄弟,我错过了一些被删除的部分在发布前意外添加。现在它又被添加了。我的动机是在colorbox关闭时销毁新列表项ID。其他一切正常。问题已经通过使用第一个选项解决了,即在colorbox的onComplete选项之外添加代码,这阻止了两次加载jquery代码。问题已经由u使用第一个选项,将代码添加到colorbox的onComplete选项之外,这样可以防止两次加载jquery代码。
    <ul id="final-list"><li id="final-user1"><a class="right remove label label-important" data-id="final_user1"><i class="icon-plus icon-white"></i></a><a href="http://localhost/test/profile/user1" class="align-left">
          <img width="60px" height="60px" src="http://localhost/test/files/profile_img/user1.jpg" class="avatar photo"></a><p>User 1</a><br>@user1<br>Description</p></li></ul>
    
    $(document).on('click', "a.remove", function() {
     remove_id = $(this).data('id');
     $('#'+remove_id).remove();
    });