我克隆了一个div,在这个div中我有几个按钮,主题是一个删除按钮。一旦我点击删除按钮,一个未被点击的div被删除而不是点击的一个。我有这个小提琴{ {3}}
这是函数
$(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?。
答案 0 :(得分:3)
您可以使用closest()
,在此处查看更新小提琴:
所以你需要改变:
$('#xxx')
要:
$(this).closest('#xxx')
此外,您还为每个克隆的div分配了相同的id=xxx
。 id
每个元素应该是唯一的,使用class
代替或id
值,以使其符合W3C规则/标准。
<强>文档强>
答案 1 :(得分:2)
试试这样:
$(this).closest('#xxx').fadeOut(....
而不是:
$('#xxx').fadeOut(...
虽然这样可行,但在任何情况下都不应该在同一页面上有两个具有相同值的ID,这不符合W3C标准。