【问题标题】:JQuery Hide after append追加后的JQuery隐藏
【发布时间】:2012-05-30 09:44:18
【问题描述】:

我正在运行一个脚本,该脚本将在从下拉列表中选择一个元素时附加一个元素,该位一切正常并附加该项目。附加的项目包括一个按钮,单击该按钮将隐藏附加的项目。我似乎无法开始工作的是隐藏功能。如果我将元素手动放入 HTML 并单击隐藏按钮,代码似乎可以正常工作,但由于某种原因,在附加它时它不起作用?

$('#addteammember').click(function() {
 var usernamevalue = $("#teammemberselected").val();
 var teammemberfullname = $('#teammemberselected option:selected').text();
  $('#teammemberlist').append("<li><input class='removeteam' type='button' value="+usernamevalue+" /><span class='listitem'>"+teammemberfullname+"</span></li>");
});


$('.removeteam').click(function () {
  $(this).hide();
});   

【问题讨论】:

    标签: javascript jquery variables append hide


    【解决方案1】:

    发生这种情况是因为您动态附加了按钮,但仅将 click 处理程序绑定到现有元素。您可以改用此代码:

    $("#teammemberlist").on("click", ".removeteam", function () {
        $(this).hide();
    }); 
    

    【讨论】:

    • 请记住,on 方法是在 jQuery 版本 1.7 中引入的。如果由于某种原因您必须使用旧版本,请尝试livedelegate。出于性能原因,我推荐delegate 而不是live。我不确定on 是如何与这两种方法叠加的。
    【解决方案2】:

    试试live函数。

    $(".removeteam").live("click", function() {
    $(this).hide();
    });
    

    【讨论】:

      猜你喜欢
      • 2010-11-28
      • 1970-01-01
      • 2013-05-04
      • 2023-03-15
      • 2013-10-30
      • 2011-12-13
      • 2012-10-06
      • 1970-01-01
      • 2011-03-08
      相关资源
      最近更新 更多