我正在尝试在dojo淡出后删除复选框指定的多个节点。节点是简单的HTML tr元素。 按钮上有一个onclick事件,执行以下操作。
var tbody = dojo11.byId("resultBody1");
for (var k=0; k < selections.length; k++) {
var temp = selections[k];
dojo11.fadeOut( {
node:temp,
duration:1500,
onEnd: function() {
tbody.removeChild(temp);
}
}).play();
}
它适用于一个节点。如果我选择两个或更多节点,它会逐渐消除所有选定节点,但只会从DOM树中删除最后选择的节点,同时报告前两个节点的错误。
Firebug控制台输出:
exception in animation handler for: onEnd
Node was not found" code: "8
var _10b=null;\n
有关如何在fadeOut之后从树中删除所有选定节点的任何想法吗?
答案 0 :(得分:1)
这实际上是一个javascript关闭问题。通过每次调用删除节点时关闭索引节点的当前值来修复。
for (var k=0; k < selections.length; k++) {
var temp = selections[k];
dojo11.fadeOut( {
node:temp,
duration: 1500,
onEnd: function(node) {
return function() {
tbody.removeChild(node);
}
}(temp)
}).play();