我想通过点击它们(逐个)删除元素。我几乎完成了,但遇到了一些问题。
我写这段代码,这个工作很好。但这仅适用于slide()
和css()
。这两个示例仅对我单击的元素有效。
$("#button").click(function(){
var k = $("<p></p>").text("paragraph");
$("#content").append(k);
});
$("#content").on("click","*",function(){
$(this).slideToggle();
});
https://jsfiddle.net/k61Lb684/
https://jsfiddle.net/k61Lb684/1/
但问题是我想删除元素但是当我尝试使用相同的方法remove()
或hide()
时,它只隐藏了底部元素。
https://jsfiddle.net/k61Lb684/2/
https://jsfiddle.net/k61Lb684/3/
有人可以解释为什么hide()
和remove()
的行为不同。并为我的问题提供更好的解决方案?
答案 0 :(得分:4)
hide
和remove
的工作方式相同。但默认情况下两者都没有animation
时间。所以两者都是如此之快,以至于可见,最后一行将被删除。但事实是,底部元素会滑动到列表中的新空白区域。
在为动画提供hide
时,您可以看到正确的行为:
$(this).hide(500);
<强> Working example. 强>