jQuery删除新元素

jQuery删除新元素,jquery,html,Jquery,Html,我有一个HTML表单,允许用户向表单中添加更多元素,但在每行元素旁边都有一个“删除”按钮,该按钮链接到jQuery调用,但当单击按钮时,新添加的元素不会删除,但是,最初硬编码到HTML中的元素将被删除 这是我的密码: $("[data-action]").each(function(i,a){ $(a).bind('click',function(){ switch ($(a).attr("data-action")) { case "AddQualificationFi

我有一个HTML表单,允许用户向表单中添加更多元素,但在每行元素旁边都有一个“删除”按钮,该按钮链接到jQuery调用,但当单击按钮时,新添加的元素不会删除,但是,最初硬编码到HTML中的元素将被删除

这是我的密码:

$("[data-action]").each(function(i,a){
$(a).bind('click',function(){
    switch ($(a).attr("data-action")) {
        case "AddQualificationField":
            qual_add_current++;
            var qual_add_html = '<div id="AddQualification' + qual_add_current + '" class="controls inline" style="margin-top: 5px;">' +
                        '<label for="AddQualificationType[' + qual_add_current + ']">Type:</label> <input type="text" name="AddQualificationType[' + qual_add_current + ']" id="AddQualificationType[' + qual_add_current + ']" placeholder="e.g. \'A\' Level" class="input-small" maxlength="75" /> ' +
                        '<label for="AddQualificationSubject[' + qual_add_current + ']">Subject:</label> <input type="text" name="AddQualificationSubject[' + qual_add_current + ']" id="AddQualificationSubject[' + qual_add_current + ']" class="input-small" maxlength="75" /> ' +
                        '<label for="AddQualificationGrade[' + qual_add_current + ']">Grade:</label> <input type="text" name="AddQualificationGrade[' + qual_add_current + ']" id="AddQualificationGrade[' + qual_add_current + ']" class="input-small" maxlength="20" /> ' +
                        '<button type="button" class="btn" data-action="RemoveQual" data-qualid="' + qual_add_current + '"><i class="icon-remove"></i></button>' +
                    '</div>';
            $("fieldset#AddQualifications").append(qual_add_html);
            break;

        case "RemoveQual":
            var qual_id = parseInt($(a).attr("data-qualid"));
            if (confirm("Are you sure that you want to do this?")) {
                $("div#AddQualification" + qual_id).remove();
            }
            break;
    }
  });
});
$(“[数据操作]”)。每个(函数(i,a){
$(a).bind('click',function(){
开关($(a).attr(“数据操作”)){
案例“AddQualificationField”:
qual_添加_current++;
var qual_add_html=''+
'类型:'+
'主题:'+
“等级:”+
'' +
'';
$(“fieldset#AddQualifications”).append(qual_add_html);
打破
案例“RemoveQual”:
var qual_id=parseInt($(a).attr(“数据质量”);
如果(确认(“您确定要执行此操作吗?”)){
$(“div#AddQualification”+qual_id).remove();
}
打破
}
});
});

您必须使用Jquery方法删除动态创建的元素。

您需要重新绑定动态添加到DOM树中的元素。第一个bind()调用仅绑定文档中当前的元素。之后添加的元素未被考虑。

很抱歉,这是一个麻烦,我已经设法自己修复了它——不过感谢您的帮助


我刚刚在删除按钮上使用了
onclick=“javascript:RemoveQual('+qual\u add\u current+');”

如果您不显示代码,我们无法修复它。-如果你问一个模糊的问题,你会得到一个模糊的答案。但如果你给我们提供细节和背景,我们可以提供一个有用的答案。那么,你试过什么?显示一些代码!我现在已经添加了代码谢谢,我会试试的now@MarkEriksson这是正确的答案,尽管应该有更多的解释和代码示例。您刚刚错误地使用了
.on()
,但是您尝试了。