今回は,
slice()
0470: slice: function() {
0471: return this.pushStack( Array.prototype.slice.apply( this, arguments ) );
0472: },
0473:
sliceメソッドは,
map()
0474: map: function( callback ) {
0475: return this.pushStack( jQuery.map(this, function(elem, i){
0476: return callback.call( elem, i, elem );
0477: }));
0478: },
0479:
mapメソッドは,
andSelf()
0480: andSelf: function() {
0481: return this.add( this.prevObject );
0482: },
0483:
andSelfメソッドは,
domManip()
0484: domManip: function( args, table, reverse, callback ) {
0485: var clone = this.length > 1, elems;
0486:
0487: return this.each(function(){
0488: if ( !elems ) {
0489: elems = jQuery.clean( args, this.ownerDocument );
0490:
0491: if ( reverse )
0492: elems.reverse();
0493: }
0494:
0495: var obj = this;
0496:
0497: if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) )
0498: obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") );
0499:
0500: var scripts = jQuery( [] );
0501:
0502: jQuery.each(elems, function(){
0503: var elem = clone ?
0504: jQuery( this ).clone( true )[0] :
0505: this;
0506:
0507: // execute all scripts after the elements have been injected
0508: if ( jQuery.nodeName( elem, "script" ) ) {
0509: scripts = scripts.add( elem );
0510: } else {
0511: // Remove any inner scripts for later evaluation
0512: if ( elem.nodeType == 1 )
0513: scripts = scripts.add( jQuery( "script", elem ).remove() );
0514:
0515: // Inject the elements into the document
0516: callback.call( obj, elem );
0517: }
0518: });
0519:
0520: scripts.each( evalScript );
0521: });
0522: }
0523:};
0524:
domManipメソッドは,
次に497行目ですが,
次に500行目からは,
initプロトタイプ定義
0525:// Give the init function the jQuery prototype for later instantiation
0526:jQuery.prototype.init.prototype = jQuery.prototype;
0527:
後にインスタンス化するときのために,
evalScript()
0528:function evalScript( i, elem ) {
0529: if ( elem.src )
0530: jQuery.ajax({
0531: url: elem.src,
0532: async: false,
0533: dataType: "script"
0534: });
0535:
0536: else
0537: jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );
0538:
0539: if ( elem.parentNode )
0540: elem.parentNode.removeChild( elem );
0541:}
0542:
528行目は,
そして,