From c313cfa40bc82663b5c382627b3ce70f7f456199 Mon Sep 17 00:00:00 2001 From: Stefan Frech Date: Sun, 20 Apr 2008 13:30:47 +0000 Subject: [PATCH] sending jquery to the repos --- jquery/images/file.gif | Bin 0 -> 110 bytes jquery/images/folder.gif | Bin 0 -> 106 bytes jquery/images/tv-collapsable-last.gif | Bin 0 -> 85 bytes jquery/images/tv-collapsable.gif | Bin 0 -> 781 bytes jquery/images/tv-expandable-last.gif | Bin 0 -> 89 bytes jquery/images/tv-expandable.gif | Bin 0 -> 787 bytes jquery/images/tv-item-last.gif | Bin 0 -> 65 bytes jquery/images/tv-item.gif | Bin 0 -> 750 bytes jquery/jquery.js | 4996 +++++++++++++++++++++++++ jquery/jquery.treeview.js | 239 ++ 10 files changed, 5235 insertions(+) create mode 100644 jquery/images/file.gif create mode 100644 jquery/images/folder.gif create mode 100644 jquery/images/tv-collapsable-last.gif create mode 100644 jquery/images/tv-collapsable.gif create mode 100644 jquery/images/tv-expandable-last.gif create mode 100644 jquery/images/tv-expandable.gif create mode 100644 jquery/images/tv-item-last.gif create mode 100644 jquery/images/tv-item.gif create mode 100644 jquery/jquery.js create mode 100644 jquery/jquery.treeview.js diff --git a/jquery/images/file.gif b/jquery/images/file.gif new file mode 100644 index 0000000000000000000000000000000000000000..7e6216798f8e5abfc81a2fe2e5cb32b7a2d82e10 GIT binary patch literal 110 zcmZ?wbhEHb!0m5Y~9sd L;uWgGz+epk&R;19 literal 0 HcmV?d00001 diff --git a/jquery/images/folder.gif b/jquery/images/folder.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b31631ca2bfec3a8afb1bfdd4f8ed4c5bcc3a18 GIT binary patch literal 106 zcmZ?wbhEHb6ky=hKW2GJ7 I#Kd3?0MGg0inAdcV{h m&KuQ>!#3re=R9b^b+)pkV^-bj*+~+v*T3~X-xbWjU=0A^yc^^I literal 0 HcmV?d00001 diff --git a/jquery/images/tv-collapsable.gif b/jquery/images/tv-collapsable.gif new file mode 100644 index 0000000000000000000000000000000000000000..857262faecaaf363ab3d6fe1779ec6d6eb85c3f3 GIT binary patch literal 781 zcmV+o1M>VwNk%w1VGsbY1d##&0001hfPnx1{{R30A^8LW00062EC2ui01yDM1ONj6 zl#i(v>%SVDDcF0XR%^3A-Pw$vten~kQ$Df3Aka`(CO$Gso^r^Yw5H0V?n zhzPhSm>6YPq}a$PS^4Pr1Sw^iiP@yNHYv*a=~-xcg_@JQIl35Hb0`nuLOKm8KC~DS<3v0E6**q? zm=WYgJRM1XG#L`*NIfT6rgXWoPfM9EX~raUPod6jHxKRX)-%%2dP8&aESeALKBfJb z{&N}->OiRlsUEbN@TgXxSS5DV_*GAtOt_pV;K zdHL>L8W*r#zk~(%HT<_}V8w$G7iN4Ia^k0pDL0n<*m7jelcQGle3^4*(3?qjp86Se zXw#!rmv()+YHHc5VYjCJ8h7lgvw7FnecN|#;k&c`CLY}QaOK6l_GX^k`Elrut7En< z8ar$4wz&iMjvPGo>*TYS-+sP(`tR$*w;yjlK6?4;>9e=*9zXo~{OkALzyDu;0q*Bt zfdCpPAc6!Q$Y6pEF6dx{5KbuFauqfQ)^is|m*I39iud7rA?i2cfF&w;;)5wlxFUre zTKFP{Vrdv7hckLuBZxVQxFd-@n)oA%L8>?;i$%J4BaBJPNEVGt+SnwHPwF@&k5&43 zC6HMPxh0WZ8u=xXQ7SnmlV&+tCX{DNnI@HOTKOiHacVgymvwr1CzyGPxh9!?nu!*g zf2tWMn}fP}D4dDPxhS2D+W9D+k?J`qpN0B)DWGa0nkk{1D%vThpE4RMsG~YsDygSJ LnkuS<6aWA_b2fL3 literal 0 HcmV?d00001 diff --git a/jquery/images/tv-expandable-last.gif b/jquery/images/tv-expandable-last.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ede2de78e046691bafcd19d8f953d820a8a939d GIT binary patch literal 89 zcmZ?wbhEHb6krfzn8?J?(9poZ!0`Y7e;}#&lZBCifr&u}$Yub^GcajQ>0inAdcV{h q&KuQ>!-85aE8abxaj=r>ESKDpU6s1x-4bq3f1UgO@4W^CgEatFOCAgW literal 0 HcmV?d00001 diff --git a/jquery/images/tv-expandable.gif b/jquery/images/tv-expandable.gif new file mode 100644 index 0000000000000000000000000000000000000000..305d57fc8b14c89431818b5f21d81e39072723b5 GIT binary patch literal 787 zcmV+u1MK`qNk%w1VGsbY1d##&0001hfPnx1{{R30A^8LW00062EC2ui01yDM1ONj6 zl#i(v>%SVDDcF0XR#Je|A>GGlz1le|i8=~as(Px~3Y#jsDi#ZROFE0Y zt6NK!%i1gaYZh!fj9iR%44mw|tk!J&OdZWO&0MX0?UpUQ4c-m+jU8@2E_d#|PTsDb zepk*OpEvJbzjqJ+%A4QU&sRWV1CsGaU6>nC( zTlseN`xS6l!D9)RHGCFv+PjSNHs1TVZ{)v|16Lk=xp3ygn-h0l>^L-J(UM71HfVqJ9X~WyIc2u{X2H>*|v-0Hm(~vZ{@z319vVQI`QMwlUHAU zy?OTM+oN}%ZaqA9@!H9AH}4%i`0?z^w?F?ref;(A>%+G%A3y#3{PXwZ-|t_501n8O zVg-J7plk^ax1e+le)phy5zaTEeiip@Au)_@Rj* z#?_LFEy{SJf-BlMBa1aMcq5NF;<%%OJqr1wk3m8>B$7oEd8C9%I=Q5hO;Y$Il~F=D zrG-^$d8L(EVz?!kU2^%QhGCjHrkG`Nm?oNQZV2a@Y`!UHoNdneB8f5Tn5T;+(%2`U zfATpfkbx4qr=f)!d8nd^GP)>}jY9gUq>)NFsil=-dMTEfa=NLfoqGAHsG*WNDw(CC RdaA0as=2DGt#VcX06Vosfm8qh literal 0 HcmV?d00001 diff --git a/jquery/images/tv-item-last.gif b/jquery/images/tv-item-last.gif new file mode 100644 index 0000000000000000000000000000000000000000..42a139ad59777163fb406f3692ebf5333ef379d9 GIT binary patch literal 65 zcmZ?wbhEHb6krfzXkcV$XlVHV|G(l-7DfgJMg|=QAOOiQFiG_EuVj0@Uuus3rEZ;L SYuWd=KJu9MtaBPGgEatO+7%uE literal 0 HcmV?d00001 diff --git a/jquery/images/tv-item.gif b/jquery/images/tv-item.gif new file mode 100644 index 0000000000000000000000000000000000000000..281e5dce6705bbba1be16919ccad1883d9a9b7b5 GIT binary patch literal 750 zcmVi2fsz(rj1Z(I%uk_Z1$dUHLJCFC+@t*{rh7DQ$tg6bPOd)Ib9R>WJIOY zC1?7iG(~*cW?M%k^nH`*-V=i`xtK z>l-Y#TUe}i?3nDfEc#3uZ90uwt$NLx?Ya%yEz9_=8%|Cu4t!3WF5E0v&bw~>jvTK% z&s^_(54|tlPyNqYKx_lG736l%TS9Q=7LIEO5uQVI6V+8@m(N{9djA*YZN%5n-ba2T z{gniGQeaAgD-E_p_)=j^h7xB!tcjDOO^Q1$_QV)c-%pP@K@JsJlw?wqOHnpe`IKc; zms4R@m3ft>&a5}LdNsJN672wB*X9FPF}IdUNW|t3S66 z{d%URkG?T6W3jmwM*e=bnBB3h1DQ g3W{i|jQuery a selector + * @param jQuery|Element|Array c context + * @cat Core + */ +var jQuery = function(a,c) { + // If the context is global, return a new object + if ( window == this ) + return new jQuery(a,c); + + // Make sure that a selection was provided + a = a || document; + + // HANDLE: $(function) + // Shortcut for document ready + if ( jQuery.isFunction(a) ) + return new jQuery(document)[ jQuery.fn.ready ? "ready" : "load" ]( a ); + + // Handle HTML strings + if ( typeof a == "string" ) { + // HANDLE: $(html) -> $(array) + var m = /^[^<]*(<(.|\n)+>)[^>]*$/.exec(a); + if ( m ) + a = jQuery.clean( [ m[1] ] ); + + // HANDLE: $(expr) + else + return new jQuery( c ).find( a ); + } + + return this.setArray( + // HANDLE: $(array) + a.constructor == Array && a || + + // HANDLE: $(arraylike) + // Watch for when an array-like object is passed as the selector + (a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) || + + // HANDLE: $(*) + [ a ] ); +}; + +// Map over the $ in case of overwrite +if ( typeof $ != "undefined" ) + jQuery._$ = $; + +// Map the jQuery namespace to the '$' one +var $ = jQuery; + +/** + * This function accepts a string containing a CSS or + * basic XPath selector which is then used to match a set of elements. + * + * The core functionality of jQuery centers around this function. + * Everything in jQuery is based upon this, or uses this in some way. + * The most basic use of this function is to pass in an expression + * (usually consisting of CSS or XPath), which then finds all matching + * elements. + * + * By default, $() looks for DOM elements within the context of the + * current HTML document. + * + * @example $("div > p") + * @desc Finds all p elements that are children of a div element. + * @before

one

two

three

+ * @result [

two

] + * + * @example $("input:radio", document.forms[0]) + * @desc Searches for all inputs of type radio within the first form in the document + * + * @example $("div", xml.responseXML) + * @desc This finds all div elements within the specified XML document. + * + * @name $ + * @param String expr An expression to search with + * @param Element|jQuery context (optional) A DOM Element, Document or jQuery to use as context + * @cat Core + * @type jQuery + * @see $(Element) + * @see $(Element) + */ + +/** + * Create DOM elements on-the-fly from the provided String of raw HTML. + * + * @example $("

Hello

").appendTo("#body") + * @desc Creates a div element (and all of its contents) dynamically, + * and appends it to the element with the ID of body. Internally, an + * element is created and it's innerHTML property set to the given markup. + * It is therefore both quite flexible and limited. + * + * @name $ + * @param String html A string of HTML to create on the fly. + * @cat Core + * @type jQuery + * @see appendTo(String) + */ + +/** + * Wrap jQuery functionality around a single or multiple DOM Element(s). + * + * This function also accepts XML Documents and Window objects + * as valid arguments (even though they are not DOM Elements). + * + * @example $(document.body).background( "black" ); + * @desc Sets the background color of the page to black. + * + * @example $( myForm.elements ).hide() + * @desc Hides all the input elements within a form + * + * @name $ + * @param Element|Array elems DOM element(s) to be encapsulated by a jQuery object. + * @cat Core + * @type jQuery + */ + +/** + * A shorthand for $(document).ready(), allowing you to bind a function + * to be executed when the DOM document has finished loading. This function + * behaves just like $(document).ready(), in that it should be used to wrap + * all of the other $() operations on your page. While this function is, + * technically, chainable - there really isn't much use for chaining against it. + * You can have as many $(document).ready events on your page as you like. + * + * See ready(Function) for details about the ready event. + * + * @example $(function(){ + * // Document is ready + * }); + * @desc Executes the function when the DOM is ready to be used. + * + * @example jQuery(function($) { + * // Your code using failsafe $ alias here... + * }); + * @desc Uses both the shortcut for $(document).ready() and the argument + * to write failsafe jQuery code using the $ alias, without relying on the + * global alias. + * + * @name $ + * @param Function fn The function to execute when the DOM is ready. + * @cat Core + * @type jQuery + * @see ready(Function) + */ + +jQuery.fn = jQuery.prototype = { + /** + * The current version of jQuery. + * + * @private + * @property + * @name jquery + * @type String + * @cat Core + */ + jquery: "@VERSION", + + /** + * The number of elements currently matched. + * + * @example $("img").length; + * @before + * @result 2 + * + * @property + * @name length + * @type Number + * @cat Core + */ + + /** + * The number of elements currently matched. + * + * @example $("img").size(); + * @before + * @result 2 + * + * @name size + * @type Number + * @cat Core + */ + size: function() { + return this.length; + }, + + length: 0, + + /** + * Access all matched elements. This serves as a backwards-compatible + * way of accessing all matched elements (other than the jQuery object + * itself, which is, in fact, an array of elements). + * + * @example $("img").get(); + * @before + * @result [ ] + * @desc Selects all images in the document and returns the DOM Elements as an Array + * + * @name get + * @type Array + * @cat Core + */ + + /** + * Access a single matched element. num is used to access the + * Nth element matched. + * + * @example $("img").get(0); + * @before + * @result [ ] + * @desc Selects all images in the document and returns the first one + * + * @name get + * @type Element + * @param Number num Access the element in the Nth position. + * @cat Core + */ + get: function( num ) { + return num == undefined ? + + // Return a 'clean' array + jQuery.makeArray( this ) : + + // Return just the object + this[num]; + }, + + /** + * Set the jQuery object to an array of elements, while maintaining + * the stack. + * + * @example $("img").pushStack([ document.body ]); + * @result $("img").pushStack() == [ document.body ] + * + * @private + * @name pushStack + * @type jQuery + * @param Elements elems An array of elements + * @cat Core + */ + pushStack: function( a ) { + var ret = jQuery(a); + ret.prevObject = this; + return ret; + }, + + /** + * Set the jQuery object to an array of elements. This operation is + * completely destructive - be sure to use .pushStack() if you wish to maintain + * the jQuery stack. + * + * @example $("img").setArray([ document.body ]); + * @result $("img").setArray() == [ document.body ] + * + * @private + * @name setArray + * @type jQuery + * @param Elements elems An array of elements + * @cat Core + */ + setArray: function( a ) { + this.length = 0; + [].push.apply( this, a ); + return this; + }, + + /** + * Execute a function within the context of every matched element. + * This means that every time the passed-in function is executed + * (which is once for every element matched) the 'this' keyword + * points to the specific element. + * + * Additionally, the function, when executed, is passed a single + * argument representing the position of the element in the matched + * set. + * + * @example $("img").each(function(i){ + * this.src = "test" + i + ".jpg"; + * }); + * @before + * @result + * @desc Iterates over two images and sets their src property + * + * @name each + * @type jQuery + * @param Function fn A function to execute + * @cat Core + */ + each: function( fn, args ) { + return jQuery.each( this, fn, args ); + }, + + /** + * Searches every matched element for the object and returns + * the index of the element, if found, starting with zero. + * Returns -1 if the object wasn't found. + * + * @example $("*").index( $('#foobar')[0] ) + * @before
+ * @result 0 + * @desc Returns the index for the element with ID foobar + * + * @example $("*").index( $('#foo')[0] ) + * @before
+ * @result 2 + * @desc Returns the index for the element with ID foo within another element + * + * @example $("*").index( $('#bar')[0] ) + * @before
+ * @result -1 + * @desc Returns -1, as there is no element with ID bar + * + * @name index + * @type Number + * @param Element subject Object to search for + * @cat Core + */ + index: function( obj ) { + var pos = -1; + this.each(function(i){ + if ( this == obj ) pos = i; + }); + return pos; + }, + + /** + * Access a property on the first matched element. + * This method makes it easy to retrieve a property value + * from the first matched element. + * + * @example $("img").attr("src"); + * @before + * @result test.jpg + * @desc Returns the src attribute from the first image in the document. + * + * @name attr + * @type Object + * @param String name The name of the property to access. + * @cat DOM/Attributes + */ + + /** + * Set a key/value object as properties to all matched elements. + * + * This serves as the best way to set a large number of properties + * on all matched elements. + * + * @example $("img").attr({ src: "test.jpg", alt: "Test Image" }); + * @before + * @result Test Image + * @desc Sets src and alt attributes to all images. + * + * @name attr + * @type jQuery + * @param Map properties Key/value pairs to set as object properties. + * @cat DOM/Attributes + */ + + /** + * Set a single property to a value, on all matched elements. + * + * Can compute values provided as ${formula}, see second example. + * + * Note that you can't set the name property of input elements in IE. + * Use $(html) or .append(html) or .html(html) to create elements + * on the fly including the name property. + * + * @example $("img").attr("src","test.jpg"); + * @before + * @result + * @desc Sets src attribute to all images. + * + * @example $("img").attr("title", "${this.src}"); + * @before + * @result + * @desc Sets title attribute from src attribute, a shortcut for attr(String,Function) + * + * @name attr + * @type jQuery + * @param String key The name of the property to set. + * @param Object value The value to set the property to. + * @cat DOM/Attributes + */ + + /** + * Set a single property to a computed value, on all matched elements. + * + * Instead of a value, a function is provided, that computes the value. + * + * @example $("img").attr("title", function() { return this.src }); + * @before + * @result + * @desc Sets title attribute from src attribute. + * + * @example $("img").attr("title", function(index) { return this.title + (i + 1); }); + * @before + * @result + * @desc Enumerate title attribute. + * + * @name attr + * @type jQuery + * @param String key The name of the property to set. + * @param Function value A function returning the value to set. + * Scope: Current element, argument: Index of current element + * @cat DOM/Attributes + */ + attr: function( key, value, type ) { + var obj = key; + + // Look for the case where we're accessing a style value + if ( key.constructor == String ) + if ( value == undefined ) + return this.length && jQuery[ type || "attr" ]( this[0], key ) || undefined; + else { + obj = {}; + obj[ key ] = value; + } + + // Check to see if we're setting style values + return this.each(function(index){ + // Set all the styles + for ( var prop in obj ) + jQuery.attr( + type ? this.style : this, + prop, jQuery.prop(this, obj[prop], type, index, prop) + ); + }); + }, + + /** + * Access a style property on the first matched element. + * This method makes it easy to retrieve a style property value + * from the first matched element. + * + * @example $("p").css("color"); + * @before

Test Paragraph.

+ * @result "red" + * @desc Retrieves the color style of the first paragraph + * + * @example $("p").css("font-weight"); + * @before

Test Paragraph.

+ * @result "bold" + * @desc Retrieves the font-weight style of the first paragraph. + * + * @name css + * @type String + * @param String name The name of the property to access. + * @cat CSS + */ + + /** + * Set a key/value object as style properties to all matched elements. + * + * This serves as the best way to set a large number of style properties + * on all matched elements. + * + * @example $("p").css({ color: "red", background: "blue" }); + * @before

Test Paragraph.

+ * @result

Test Paragraph.

+ * @desc Sets color and background styles to all p elements. + * + * @name css + * @type jQuery + * @param Map properties Key/value pairs to set as style properties. + * @cat CSS + */ + + /** + * Set a single style property to a value, on all matched elements. + * If a number is provided, it is automatically converted into a pixel value. + * + * @example $("p").css("color","red"); + * @before

Test Paragraph.

+ * @result

Test Paragraph.

+ * @desc Changes the color of all paragraphs to red + * + * @example $("p").css("left",30); + * @before

Test Paragraph.

+ * @result

Test Paragraph.

+ * @desc Changes the left of all paragraphs to "30px" + * + * @name css + * @type jQuery + * @param String key The name of the property to set. + * @param String|Number value The value to set the property to. + * @cat CSS + */ + css: function( key, value ) { + return this.attr( key, value, "curCSS" ); + }, + + /** + * Get the text contents of all matched elements. The result is + * a string that contains the combined text contents of all matched + * elements. This method works on both HTML and XML documents. + * + * @example $("p").text(); + * @before

Test Paragraph.

Paraparagraph

+ * @result Test Paragraph.Paraparagraph + * @desc Gets the concatenated text of all paragraphs + * + * @name text + * @type String + * @cat DOM/Attributes + */ + + /** + * Set the text contents of all matched elements. + * + * Similar to html(), but escapes HTML (replace "<" and ">" with their + * HTML entities). + * + * @example $("p").text("Some new text."); + * @before

Test Paragraph.

+ * @result

<b>Some</b> new text.

+ * @desc Sets the text of all paragraphs. + * + * @example $("p").text("Some new text.", true); + * @before

Test Paragraph.

+ * @result

Some new text.

+ * @desc Sets the text of all paragraphs. + * + * @name text + * @type String + * @param String val The text value to set the contents of the element to. + * @cat DOM/Attributes + */ + text: function(e) { + if ( typeof e == "string" ) + return this.empty().append( document.createTextNode( e ) ); + + var t = ""; + jQuery.each( e || this, function(){ + jQuery.each( this.childNodes, function(){ + if ( this.nodeType != 8 ) + t += this.nodeType != 1 ? + this.nodeValue : jQuery.fn.text([ this ]); + }); + }); + return t; + }, + + /** + * Wrap all matched elements with a structure of other elements. + * This wrapping process is most useful for injecting additional + * stucture into a document, without ruining the original semantic + * qualities of a document. + * + * This works by going through the first element + * provided (which is generated, on the fly, from the provided HTML) + * and finds the deepest ancestor element within its + * structure - it is that element that will en-wrap everything else. + * + * This does not work with elements that contain text. Any necessary text + * must be added after the wrapping is done. + * + * @example $("p").wrap("
"); + * @before

Test Paragraph.

+ * @result

Test Paragraph.

+ * + * @name wrap + * @type jQuery + * @param String html A string of HTML, that will be created on the fly and wrapped around the target. + * @cat DOM/Manipulation + */ + + /** + * Wrap all matched elements with a structure of other elements. + * This wrapping process is most useful for injecting additional + * stucture into a document, without ruining the original semantic + * qualities of a document. + * + * This works by going through the first element + * provided and finding the deepest ancestor element within its + * structure - it is that element that will en-wrap everything else. + * + * This does not work with elements that contain text. Any necessary text + * must be added after the wrapping is done. + * + * @example $("p").wrap( document.getElementById('content') ); + * @before

Test Paragraph.

+ * @result

Test Paragraph.

+ * + * @name wrap + * @type jQuery + * @param Element elem A DOM element that will be wrapped around the target. + * @cat DOM/Manipulation + */ + wrap: function() { + // The elements to wrap the target around + var a = jQuery.clean(arguments); + + // Wrap each of the matched elements individually + return this.each(function(){ + // Clone the structure that we're using to wrap + var b = a[0].cloneNode(true); + + // Insert it before the element to be wrapped + this.parentNode.insertBefore( b, this ); + + // Find the deepest point in the wrap structure + while ( b.firstChild ) + b = b.firstChild; + + // Move the matched element to within the wrap structure + b.appendChild( this ); + }); + }, + + /** + * Append content to the inside of every matched element. + * + * This operation is similar to doing an appendChild to all the + * specified elements, adding them into the document. + * + * @example $("p").append("Hello"); + * @before

I would like to say:

+ * @result

I would like to say: Hello

+ * @desc Appends some HTML to all paragraphs. + * + * @example $("p").append( $("#foo")[0] ); + * @before

I would like to say:

Hello + * @result

I would like to say: Hello

+ * @desc Appends an Element to all paragraphs. + * + * @example $("p").append( $("b") ); + * @before

I would like to say:

Hello + * @result

I would like to say: Hello

+ * @desc Appends a jQuery object (similar to an Array of DOM Elements) to all paragraphs. + * + * @name append + * @type jQuery + * @param content Content to append to the target + * @cat DOM/Manipulation + * @see prepend() + * @see before() + * @see after() + */ + append: function() { + return this.domManip(arguments, true, 1, function(a){ + this.appendChild( a ); + }); + }, + + /** + * Prepend content to the inside of every matched element. + * + * This operation is the best way to insert elements + * inside, at the beginning, of all matched elements. + * + * @example $("p").prepend("Hello"); + * @before

I would like to say:

+ * @result

HelloI would like to say:

+ * @desc Prepends some HTML to all paragraphs. + * + * @example $("p").prepend( $("#foo")[0] ); + * @before

I would like to say:

Hello + * @result

HelloI would like to say:

+ * @desc Prepends an Element to all paragraphs. + * + * @example $("p").prepend( $("b") ); + * @before

I would like to say:

Hello + * @result

HelloI would like to say:

+ * @desc Prepends a jQuery object (similar to an Array of DOM Elements) to all paragraphs. + * + * @name prepend + * @type jQuery + * @param content Content to prepend to the target. + * @cat DOM/Manipulation + * @see append() + * @see before() + * @see after() + */ + prepend: function() { + return this.domManip(arguments, true, -1, function(a){ + this.insertBefore( a, this.firstChild ); + }); + }, + + /** + * Insert content before each of the matched elements. + * + * @example $("p").before("Hello"); + * @before

I would like to say:

+ * @result Hello

I would like to say:

+ * @desc Inserts some HTML before all paragraphs. + * + * @example $("p").before( $("#foo")[0] ); + * @before

I would like to say:

Hello + * @result Hello

I would like to say:

+ * @desc Inserts an Element before all paragraphs. + * + * @example $("p").before( $("b") ); + * @before

I would like to say:

Hello + * @result Hello

I would like to say:

+ * @desc Inserts a jQuery object (similar to an Array of DOM Elements) before all paragraphs. + * + * @name before + * @type jQuery + * @param content Content to insert before each target. + * @cat DOM/Manipulation + * @see append() + * @see prepend() + * @see after() + */ + before: function() { + return this.domManip(arguments, false, 1, function(a){ + this.parentNode.insertBefore( a, this ); + }); + }, + + /** + * Insert content after each of the matched elements. + * + * @example $("p").after("Hello"); + * @before

I would like to say:

+ * @result

I would like to say:

Hello + * @desc Inserts some HTML after all paragraphs. + * + * @example $("p").after( $("#foo")[0] ); + * @before Hello

I would like to say:

+ * @result

I would like to say:

Hello + * @desc Inserts an Element after all paragraphs. + * + * @example $("p").after( $("b") ); + * @before Hello

I would like to say:

+ * @result

I would like to say:

Hello + * @desc Inserts a jQuery object (similar to an Array of DOM Elements) after all paragraphs. + * + * @name after + * @type jQuery + * @param content Content to insert after each target. + * @cat DOM/Manipulation + * @see append() + * @see prepend() + * @see before() + */ + after: function() { + return this.domManip(arguments, false, -1, function(a){ + this.parentNode.insertBefore( a, this.nextSibling ); + }); + }, + + /** + * End the most recent 'destructive' operation, reverting the list of matched elements + * back to its previous state. After an end operation, the list of matched elements will + * revert to the last state of matched elements. + * + * If there was no destructive operation before, an empty set is returned. + * + * @example $("p").find("span").end(); + * @before

Hello, how are you?

+ * @result [

...

] + * @desc Selects all paragraphs, finds span elements inside these, and reverts the + * selection back to the paragraphs. + * + * @name end + * @type jQuery + * @cat DOM/Traversing + */ + end: function() { + return this.prevObject || jQuery([]); + }, + + /** + * Searches for all elements that match the specified expression. + + * This method is a good way to find additional descendant + * elements with which to process. + * + * All searching is done using a jQuery expression. The expression can be + * written using CSS 1-3 Selector syntax, or basic XPath. + * + * @example $("p").find("span"); + * @before

Hello, how are you?

+ * @result [ Hello ] + * @desc Starts with all paragraphs and searches for descendant span + * elements, same as $("p span") + * + * @name find + * @type jQuery + * @param String expr An expression to search with. + * @cat DOM/Traversing + */ + find: function(t) { + return this.pushStack( jQuery.map( this, function(a){ + return jQuery.find(t,a); + }), t ); + }, + + /** + * Clone matched DOM Elements and select the clones. + * + * This is useful for moving copies of the elements to another + * location in the DOM. + * + * @example $("b").clone().prependTo("p"); + * @before Hello

, how are you?

+ * @result Hello

Hello, how are you?

+ * @desc Clones all b elements (and selects the clones) and prepends them to all paragraphs. + * + * @name clone + * @type jQuery + * @param Boolean deep (Optional) Set to false if you don't want to clone all descendant nodes, in addition to the element itself. + * @cat DOM/Manipulation + */ + clone: function(deep) { + return this.pushStack( jQuery.map( this, function(a){ + return a.cloneNode( deep != undefined ? deep : true ); + }) ); + }, + + /** + * Removes all elements from the set of matched elements that do not + * match the specified expression(s). This method is used to narrow down + * the results of a search. + * + * Provide a comma-separated list of expressions to apply multiple filters at once. + * + * @example $("p").filter(".selected") + * @before

Hello

How are you?

+ * @result [

Hello

] + * @desc Selects all paragraphs and removes those without a class "selected". + * + * @example $("p").filter(".selected, :first") + * @before

Hello

Hello Again

And Again

+ * @result [

Hello

,

And Again

] + * @desc Selects all paragraphs and removes those without class "selected" and being the first one. + * + * @name filter + * @type jQuery + * @param String expression Expression(s) to search with. + * @cat DOM/Traversing + */ + + /** + * Removes all elements from the set of matched elements that do not + * pass the specified filter. This method is used to narrow down + * the results of a search. + * + * @example $("p").filter(function(index) { + * return $("ol", this).length == 0; + * }) + * @before

  1. Hello

How are you?

+ * @result [

How are you?

] + * @desc Remove all elements that have a child ol element + * + * @name filter + * @type jQuery + * @param Function filter A function to use for filtering + * @cat DOM/Traversing + */ + filter: function(t) { + return this.pushStack( + jQuery.isFunction( t ) && + jQuery.grep(this, function(el, index){ + return t.apply(el, [index]) + }) || + + jQuery.multiFilter(t,this) ); + }, + + /** + * Removes the specified Element from the set of matched elements. This + * method is used to remove a single Element from a jQuery object. + * + * @example $("p").not( $("#selected")[0] ) + * @before

Hello

Hello Again

+ * @result [

Hello

] + * @desc Removes the element with the ID "selected" from the set of all paragraphs. + * + * @name not + * @type jQuery + * @param Element el An element to remove from the set + * @cat DOM/Traversing + */ + + /** + * Removes elements matching the specified expression from the set + * of matched elements. This method is used to remove one or more + * elements from a jQuery object. + * + * @example $("p").not("#selected") + * @before

Hello

Hello Again

+ * @result [

Hello

] + * @desc Removes the element with the ID "selected" from the set of all paragraphs. + * + * @name not + * @type jQuery + * @param String expr An expression with which to remove matching elements + * @cat DOM/Traversing + */ + + /** + * Removes any elements inside the array of elements from the set + * of matched elements. This method is used to remove one or more + * elements from a jQuery object. + * + * @example $("p").not( $("div p.selected") ) + * @before

Hello

Hello Again

+ * @result [

Hello

] + * @desc Removes all elements that match "div p.selected" from the total set of all paragraphs. + * + * @name not + * @type jQuery + * @param jQuery elems A set of elements to remove from the jQuery set of matched elements. + * @cat DOM/Traversing + */ + not: function(t) { + return this.pushStack( + t.constructor == String && + jQuery.multiFilter(t, this, true) || + + jQuery.grep(this, function(a) { + return ( t.constructor == Array || t.jquery ) + ? jQuery.inArray( a, t ) < 0 + : a != t; + }) + ); + }, + + /** + * Adds more elements, matched by the given expression, + * to the set of matched elements. + * + * @example $("p").add("span") + * @before

Hello

Hello Again + * @result [

Hello

, Hello Again ] + * + * @name add + * @type jQuery + * @param String expr An expression whose matched elements are added + * @cat DOM/Traversing + */ + + /** + * Adds more elements, created on the fly, to the set of + * matched elements. + * + * @example $("p").add("Again") + * @before

Hello

+ * @result [

Hello

, Again ] + * + * @name add + * @type jQuery + * @param String html A string of HTML to create on the fly. + * @cat DOM/Traversing + */ + + /** + * Adds one or more Elements to the set of matched elements. + * + * @example $("p").add( document.getElementById("a") ) + * @before

Hello

Hello Again

+ * @result [

Hello

, Hello Again ] + * + * @example $("p").add( document.forms[0].elements ) + * @before

Hello