自定义删除 DOM 元素问题
Custom removing of DOM elements issue
我在删除一些HTML元素时遇到了一些问题。
关于我的代码的几句话。
我正在克隆<ul>
,然后使用弹出对话框显示其内容。然后在 2dim 数组中,我将原始对象和克隆对象之间的<li>
相应对象保存。因此,从克隆中删除并确认会在原始<ul>
中给出结果。
我遇到的问题是在添加 jQuery 动画并在其回调函数中删除时,可能是因为"for"循环。然后,当第二次删除额外而不关闭对话框窗口时,错误会因不正确地删除元素而出现!
如果您没有从一开始就目睹它,请尝试多玩一点,它不会太久直到你看到它!
这是区别不使用 .hide 动画:http://jsfiddle.net/TTGr7/1/
带动画的越野车:http://jsfiddle.net/TTGr7/2/
关键部分和区别在于代码的该部分:
del.click(function() {
var len = markedForDel.b.length;
if (len > 0) {
var confirmation = confirm('Delete marked groups');
if (confirmation) {
for (var i = 0; i < len; i++) {
markedForDel.a[i].remove();
markedForDel.b[i].remove();
//markedForDel.a.splice(i,1);
//markedForDel.b.splice(i,1);
}
}
}
});
和
del.click(function() {
var len = markedForDel.b.length;
if (len > 0) {
var confirmation = confirm('Delete marked groups');
if (confirmation) {
for (var i = 0; i < len; i++) {
markedForDel.a[i].hide(function(){
markedForDel.a[i].remove();
});
markedForDel.b[i].remove();
//markedForDel.a.splice(i,1);
//markedForDel.b.splice(i,1);
}
}
}
});
所以我真的需要保留 .hide 动画并仍然正确删除组。
所以我真的很指望你的帮助,BR
如果在调用隐藏回调时 for 循环增加了 i
的值,那么您将传递要删除的错误元素。试试这个,改为:
markedForDel.a[i].hide(function() {
$(this).remove();
});
在 hide 方法的回调中,this
设置为刚刚隐藏的元素。
你试过吗
del.click(function() {
var len = markedForDel.b.length;
if (len > 0) {
var confirmation = confirm('Delete marked groups');
if (confirmation) {
for (var i = len -1; i >= 0; i--) {
markedForDel.a[i].hide(function(){
markedForDel.a[i].remove();
});
markedForDel.b[i].remove();
//markedForDel.a.splice(i,1);
//markedForDel.b.splice(i,1);
}
}
}
});
小提琴在这里 http://jsfiddle.net/TTGr7/3/
相关文章:
- Small Javascript从动态表单中删除多个元素的问题
- 使用javascript删除元素时出现的问题
- 获取要引发的fadeIn元素时出现问题
- 使用AngularJS UI路由器时出现元素绑定问题
- 访问带有变量的Object元素时出现问题
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 在方形空间 (YUI) 上重绘元素时出现问题
- 替换
元素中的特殊字符的问题
- 在自定义元素中扩展 HTMLCanvasElement 问题
- 在具有CONTENT标记的自定义元素中使用SELECT标记时出现问题
- 性能问题:存储对DOM元素的引用与使用选择器相比
- OnMouseMove on body标记导致子下拉元素出现问题
- Javascript连接元素,出现问题
- 包含方法和突出显示元素的问题
- 单击元素时出现问题,这些元素是用.html()添加到页面的
- 将元素推送到嵌套数组的问题
- firefox中的浮动元素问题
- 这种计算画布元素中非白色像素的方法有什么问题
- Scriptaculous排序表和句柄的问题(元素排序不正确)
- 问题元素相同的类