当对dom结构操作的时候,如果他本身是有问题的,但是这个问题,并没有暴露出来,例如,某些节点没有封闭。而平时这个没有封闭的节点可能光从表现上来看,是没有任何问题的。
可是,一旦我们做了点什么,例如去appendChild 或者 insertBefore ,这样的问题就暴露出来了。
所以,当有一些我们无法避免或者控制的时候,我们学会让我们的操作影响尽量的小,操作尽量的少。尽量往出错可能性小的地方去操作,这是一种编程的策略。
所以,能不在 直接 document.body 这一层插入节点的时候,就不在这里。
第一,尽量在靠前的节点操作,应为这些节点先构造完成。
第二,尽量用前插,而不是后插,因为在insertBefore 的第二个参数的时候,就会帮我们去找到一个该处理的地方,不确定的东西越多,灵活性越大,同时出错的可能也越大。