1

私はdivを複製しました。このdivには、テーマの中にいくつかのボタンがあります。削除ボタンをクリックすると、クリックされたものの代わりにクリックされなかったdivが削除されます。 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

You can use closest(), see updated fiddle here:

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

So you needed to change:

$('#xxx')

To:

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

Also you are assigning same id=xxx to each cloned div. The id should be unique per element, use a class instead or different id value for it to be valid as per W3C rules/standards.

Documentation:

于 2012-07-19T10:29:52.200 に答える
2

Try like this:

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

instead of:

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

Live demo

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 に答える