javascript - 删除附加的 html 代码

标签 javascript jquery html

我目前遇到了一个问题,无法使用 jQuery 删除附加的 html。

现在有效的是我可以附加我想要的 html,它看起来不错,但删除不起作用。它仅适用于重新加载第一个加载的 html,我附加的其他 html 不起作用 - 我不知道为什么。

这是我附加 html 的代码:

$("#adWasteStream").click(function(){
    var newTxt = $('<div class="row-waste-container width-100"><div class="row"><div class="col-md-9"><p>Stream 1</p></div><div class="col-md-3"><button class="btn btn-add-waste deleteWasteStream"><i class="fa fa-minus-circle o-btn-add" aria-hidden="true"></i>Remove Waste Stream</button></div><div class="form-group col-md-7"><label for="business-mng-name" class="control-label">Waste Stream</label><input type="text" class="form-control form-input-field" name="business-mng-name" value="" required="" placeholder="Co-mingled recycling"><span class="help-block"></span></div></div><div class="row width-100"><div class="form-group col-md-4"><label for="business-mng-name" class="control-label">Volume (m <sup>3</sup>)</label><input type="text" class="form-control form-input-field" name="business-mng-name" value="" required="" placeholder="50"><span class="help-block"></span></div><div class="form-group col-md-4"><label for="business-mng-name" class="control-label">Weight (t)</label><input type="text" class="form-control form-input-field" name="business-mng-name" value="" required="" placeholder="20"><span class="help-block"></span></div><div class="form-group col-md-4"><label for="business-mng-name" class="control-label">Cost ($)</label><input type="text" class="form-control form-input-field" name="business-mng-name" value="" required="" placeholder="400"><span class="help-block"></span></div></div></div>');
    $(".row-cont-main").append(newTxt);
});

我的删除代码:

$(".deleteWasteStream").click(function(){
      var curRow = $(this).parents('div.row-waste-container');
      curRow.remove();
});

我不需要使用 Id,因为它们需要在所有元素中都是唯一的(用于后端目的)。

html 的结构如下所示:

<div class="row-waste-container width-100">
                                    <div class="row">
                                        <div class="col-md-9">
                                            <p>Stream 1</p>
                                        </div>
                                        <div class="col-md-3">
                                            <button class="btn btn-add-waste deleteWasteStream"><i class="fa fa-minus-circle o-btn-add" aria-hidden="true"></i>Remove Waste Stream</button>
                                        </div>
                                        <div class="form-group col-md-7">
                                            <label for="business-mng-name" class="control-label">Waste Stream</label>
                                            <input type="text" class="form-control form-input-field" name="business-mng-name" value="" required="" placeholder="Co-mingled recycling">
                                            <span class="help-block"></span>
                                        </div>
                                    </div><!-- end row -->
                                    <div class="row width-100">
                                        <div class="form-group col-md-4">
                                            <label for="business-mng-name" class="control-label">Volume (m <sup>3</sup>)</label>
                                            <input type="text" class="form-control form-input-field" name="business-mng-name" value="" required="" placeholder="50">
                                            <span class="help-block"></span>
                                        </div>
                                        <div class="form-group col-md-4">
                                            <label for="business-mng-name" class="control-label">Weight (t)</label>
                                            <input type="text" class="form-control form-input-field" name="business-mng-name" value="" required="" placeholder="20">
                                            <span class="help-block"></span>
                                        </div>
                                        <div class="form-group col-md-4">
                                            <label for="business-mng-name" class="control-label">Cost ($)</label>
                                            <input type="text" class="form-control form-input-field" name="business-mng-name" value="" required="" placeholder="400">
                                            <span class="help-block"></span>
                                        </div>
                                    </div><!-- end row -->
                                </div><!-- end row-waste container -->

最佳答案

您需要更改点击事件处理程序以处理动态附加的 html。

使用下面的代码更新您的删除点击处理程序

$("body").on('click' , '.deleteWasteStream' , function(){
      var curRow = $(this).parents('div.row-waste-container');
      curRow.remove();
});

关于javascript - 删除附加的 html 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48558162/

相关文章:

javascript - JS 正则表达式从字符串中删除 IMG 标签

javascript - 如何在 JPlayer 的 Javascript onClick 事件中使用动态元素 ID

javascript - 我应该将哪个 'event' 与 iOS/Android 上的 &lt;input/> 元素一起使用?

jQuery .css -= 值不起作用

html - CSS 动画在 Edge 中不起作用

javascript - 通过 jquery 突出显示表格中的第一行

html - 使用 R 的 rvest 包和 RSelenium 进行网页抓取

javascript - 在同一来源/域上使用 javascript 发布数据(安全风险?

javascript - 如何阻止 jQuery 悬停事件应用 css 文本阴影?

javascript - jQuery javascript 作用域问题