1

我已经克隆了一个 div,在这个 div 中,我在主题中有几个按钮,一个删除按钮。一旦我单击删除按钮,一个未单击的 div 将被删除,而不是被单击的。我有这个小提琴http:// jsfiddle.net/thiswolf/qBYzf/

这是功能

$(document).ready(function() {
    $("#button").click(function() {
        $("<div class='newclone' id='xxx'><article><label>Firstname</label><input type='text'><label>Secondname</label><input type='text'><label>City</label><input type='text'><input type='hidden' value='4'></article><button class='one'>Save</button><button class='two'>Delete</button><button class='three'>Cancel</button></div>").appendTo('.clone-container');
    });
    $('.two').live("click", function() {
        $('#xxx').fadeOut("slow", function() {
            $(this).remove();
        });
    });
});

如何删除单击的 div?

4

2 回答 2

3

您可以使用closest(),在此处查看更新的小提琴:

http://jsfiddle.net/qBYzf/1/

所以你需要改变:

$('#xxx')

到:

$(this).closest('#xxx')

id=xxx您还为每个克隆的 div分配相同的值。每个id元素应该是唯一的,根据 W3C 规则/标准使用class替代或不同id的值使其有效。

文档:

于 2012-07-19T10:29:52.200 回答
2

试试这样:

$(this).closest('#xxx').fadeOut(....

代替:

$('#xxx').fadeOut(...

现场演示

Though that will work, but in no case you should have two ids having same value in the same page , this does not comply with W3C standards.

于 2012-07-19T10:30:27.657 回答