// 插入子节点删除再插入时不能正常显示。修改: //不知改后有没有错,先做个备忘 Tree.prototype.removeNode = function(node) { // Recursively remove all descendants of +node+ this.unloadBranch(node); // Remove node from DOM (<tr>) node.row.remove(); // Clean up Tree object (so Node objects are GC-ed) delete this.tree[node.id]; this.nodes.splice($.inArray(node, this.nodes), 1); //删除父节点里的改元素; if(node.parentNode()!=undefined||node.parentNode()!=null) { var children=node.parentNode().children; children.splice($.inArray(node,children),1); } } Tree.prototype.unloadBranch = function(node) { var children, i; //对应修改 for (; node.children.length>0;) { this.removeNode(node.children[0]); } // Reset node's collection of children node.children = []; node.updateBranchLeafClass(); return this; };