jQuery源码解析----内部插入的外部函数
Posted T&Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery源码解析----内部插入的外部函数相关的知识,希望对你有一定的参考价值。
以JQuery中的append()实现为例
append: function() { return this.domManip( arguments, function( elem ) { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { var target = manipulationTarget( this, elem );//会在后面实现 target.appendChild( elem ); } }); }
manipulationTarget()的实现:
function manipulationTarget( elem, content ) { return jQuery.nodeName( elem, "table" ) && jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? elem.getElementsByTagName("tbody")[0] ||elem.appendChild( elem.ownerDocument.createElement("tbody") ) :elem; }
查看上面的manipulation()实现,要注意三目运算符?:的优先级低于运算符&&的优先级,所以manipulationTarget()返回该elem或者返回tbody及其innerhtml;
至于jQuery的nodeName方法就得自己去网页上查看。
以上是关于jQuery源码解析----内部插入的外部函数的主要内容,如果未能解决你的问题,请参考以下文章