WEB开发网
开发学院网页设计JavaScript Jquery源码分析---构建Jquery的Dom元素 阅读

Jquery源码分析---构建Jquery的Dom元素

 2010-09-14 13:36:44 来源:WEB开发网   
核心提示: 在上面的代码中,我们可以看出对于elems, context的参数的支持是多种形式的,Jquery源码分析---构建Jquery的Dom元素(2),elems可以为(类)数组的形式,还可以采用对象的形式,有了这些节点集合,可以作为jQuery.fn.init的参数传入,数组中的元素或对象的

在上面的代码中,我们可以看出对于elems, context的参数的支持是多种形式的,elems可以为(类)数组的形式,还可以采用对象的形式。数组中的元素或对象的属性可以是混合形的,如string,ojbect,甚至(类)数组的形式。对于数字类型,会转换在string形,除string形之外的都放入返回的数组中,当然对于集合的形式,那就会取集合中每个元素。

对于string的形式就转换成Dom元素的形式,之后存到返回的数组中。这是这个函数的主要任务。对于把html转换成Dom元素,这里采用innerHTML把html挂到Dom文档树中。这样就转换成了Dom元素。

有些html标签片断是有约束的,比如<td>xx</td>,它必须存在table的tr中,也就是说在要进行html的标签片断的修正。这也是上面的代码处理的重点。

3.2间接引用Dom节点

在init的参数中,我们可以直接输入Dom元素(集)的参数来构建jQuery对象,那么这些Dom元素(集)从那里来的呢?我们可以通过直接引用节点的方式如:document.getElementById,或getElementsByTag来引用Dom元素节点。我们还可以通过dom元素的我们可以通过元素的childNodes firstChild、lastChild、nextSibling、parentNode、previousSibling等间接来取得,等类似的属性来引用元素。因为这个不是直接在Dom中查找的,称为间接引用。

stChild、parentNode这些都是Dom元素的属性,jquery对象是Dom元素的集合。它也应该把这些间接引用的属性整合到jquery对象中来,这样就可以通过jquery对象来获得其集合中所有元素的各自的间接引用节点。把这些间接引用 的节点组合起来构成新的集合。集合中元素是jquery对象所有的元素的子节点或父节点之类的间接引用节点。

有了这些节点集合,可以作为jQuery.fn.init的参数传入。有人会问连这jQuery.fn.init都没有完成,怎么可能通过jquery对象而得到间接引用节点(集)呢?

上一页  1 2 3 4 5 6 7  下一页

Tags:Jquery 源码 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接