Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用查询仅删除一个div_Javascript_Jquery - Fatal编程技术网

Javascript 使用查询仅删除一个div

Javascript 使用查询仅删除一个div,javascript,jquery,Javascript,Jquery,这是你的电话号码 我有一个按钮,可以在点击时添加新的标题、文本框和链接 但是当我点击删除链接时。它将删除添加的每个新项目 Html: 波比之巅 项目 JS: $(函数(){ $('.AddItem')。单击(函数(){ $('div#main_1')。追加(“ItemRemove2个问题。” 您从未为锚点定义过类。请将该类添加到锚点 您需要删除包含的div和锚的n。使用。最近的 此外,在动态添加元素时,您还需要委派事件 $('#main').on('click', '.remove_ski

这是你的电话号码

我有一个按钮,可以在点击时添加新的标题、文本框和链接

但是当我点击删除链接时。它将删除添加的每个新项目

Html:


波比之巅
项目
JS:

$(函数(){
$('.AddItem')。单击(函数(){
$('div#main_1')。追加(“ItemRemove2个问题。”

您从未为锚点定义过类。请将该类添加到锚点

您需要
删除包含的div
和锚的n
使用
。最近的

此外,在动态添加元素时,您还需要委派事件

 $('#main').on('click', '.remove_skill',  function (e) {
        e.preventDefault();
        $(this).closest('div').remove();
    });

2期

您从未为锚点定义过类。请将该类添加到锚点

您需要
删除包含的div
和锚的n
使用
。最近的

此外,在动态添加元素时,您还需要委派事件

 $('#main').on('click', '.remove_skill',  function (e) {
        e.preventDefault();
        $(this).closest('div').remove();
    });

您发布的代码的问题是,在调用
$('.remove_skill')时不存在任何链接。请单击
,因此无法向其添加事件侦听器

我推荐一种循序渐进的方法。创建、添加行为、附加到文档中

$('.AddItem').click(function () {
    var new_element = $('<div class="item"><h3>Item</h3><input type="text"/><a class="remove" href="#">Remove</a></div>');
    new_element.find(".remove").click(remove_item);
    $('div#main_1').append(new_element);
});

function remove_item() {
    $(this).closest(".item").remove();
    return false;
}
$('.AddItem')。单击(函数(){
var new_元素=$('Item');
新建元素。查找(“.remove”)。单击(删除项);
$('div#main_1')。追加(新的_元素);
});
函数删除_项(){
$(this).最近(“.item”).remove();
返回false;
}
对于javascript处理的链接,我建议使用

使用闭包的替代解决方案:

$('.AddItem').click(function () {
    var new_element = $("<div class="item"><h3>Item</h3><input type='text'/><a class="remove" href="#">Remove</a</div>");
    new_element.find(".remove").click(function() {
        new_element.remove();
    });
    $('div#main_1').append(new_element);
});
$('.AddItem')。单击(函数(){

var new_element=$(“ItemRemove您发布的代码的问题是,在调用
$('.remove_skill')时不存在任何链接。单击
,因此无法向它们添加事件侦听器

我推荐一种循序渐进的方法。创建、添加行为、附加到文档中

$('.AddItem').click(function () {
    var new_element = $('<div class="item"><h3>Item</h3><input type="text"/><a class="remove" href="#">Remove</a></div>');
    new_element.find(".remove").click(remove_item);
    $('div#main_1').append(new_element);
});

function remove_item() {
    $(this).closest(".item").remove();
    return false;
}
$('.AddItem')。单击(函数(){
var new_元素=$('Item');
新建元素。查找(“.remove”)。单击(删除项);
$('div#main_1')。追加(新的_元素);
});
函数删除_项(){
$(this).最近(“.item”).remove();
返回false;
}
对于javascript处理的链接,我建议使用

使用闭包的替代解决方案:

$('.AddItem').click(function () {
    var new_element = $("<div class="item"><h3>Item</h3><input type='text'/><a class="remove" href="#">Remove</a</div>");
    new_element.find(".remove").click(function() {
        new_element.remove();
    });
    $('div#main_1').append(new_element);
});
$('.AddItem')。单击(函数(){

var new_element=$(“ItemRemove您的问题是您的“Remove”位于“a”标记中。这会导致重新加载页面,并删除您以前的所有更改。

您的问题是您的“Remove”标记位于“a”标记中。这将导致重新加载页面,并删除您以前所做的所有更改。

其中是
。删除\u skill
?我建议您使用
.innerHTML
甚至
.html()
而不是
.append()
。这是更好的性能。哪里是
。移除技能
?我建议您使用
.innerHTML
甚至
.html()
,而不是
.append()
。这是更好的性能。另外:
append()中的锚标记未正确关闭
process.true..这也必须修复:锚定标记在
append()中未正确关闭。
process.true..这也必须修复