首先,我们来看一下内部插入部分,内部插入包括append、appendTo、prepend、prependTo,对于append和prepend,jQuery内部实现比较简单,调用了JS的dom.appendChild和dom.insertBefore方法,但是在此之前调用了一个domManip的方法,domManip具体是做什么的呢?
domManip在这里可以理解为是jQuery.fn.each,与其不同的几处有:
- 第一个参数可以传入一个回调函数,使之返回一群jQuery元素。
- 若元素是一个table但没有tbody,就将tbody自动加上。
- 其操作会创建一个DOM文档片段,但其具体操作,还不是很清楚,以后再研究
对于appendTo、prependTo、insertBefore、insertAfter、replaceAll,
首先jQuery做了一个hashmap,对应其内部实现的方法,然后,对jQuery中的DOM对象进行遍历,再执行其对应的方法