Lots of documentation overhaul - much more documented, cat output works better now.

This commit is contained in:
John Resig 2006-09-01 05:52:26 +00:00
parent 805d21c236
commit c8009abcce
7 changed files with 1181 additions and 1180 deletions

View file

@ -23,6 +23,6 @@ function output( c, n ) {
writeFile( dir + "/" + ( n == "docs" ? "index" : n ) + ".xml", writeFile( dir + "/" + ( n == "docs" ? "index" : n ) + ".xml",
"<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<?xml version='1.0' encoding='ISO-8859-1'?>\n" +
"<?xml-stylesheet type='text/xsl' href='style/docs.xsl'?>\n" + xml "<?xml-stylesheet type='text/xsl' href='style/" + n + ".xsl'?>\n" + xml
); );
} }

View file

@ -17,9 +17,11 @@ $(document).ready(function(){
}).ToolTipDemo('#fff'); }).ToolTipDemo('#fff');
$("a.name").click(function(){ $("a.name").click(function(){
$("div.more,div.short",this.parentNode.parentNode).toggle('slow').find("div.desc",function(){ $("div.more,div.short",this.parentNode.parentNode)
$(this).html( $(this).html().replace(/\n\n/g, "<br/><br/>") ); .find("div.desc",function(){
}); $(this).html( $(this).html().replace(/\n\n/g, "<br/><br/>") );
})
.toggle('slow');
return false; return false;
}); });

View file

@ -116,7 +116,6 @@ ul#docs li div.more {
} }
ul#docs li div.example { ul#docs li div.example {
overflow: auto;
border-top: 1px solid #DDD; border-top: 1px solid #DDD;
margin-top: 15px; margin-top: 15px;
} }
@ -130,7 +129,6 @@ ul#docs li div.example pre {
color: #000; color: #000;
background: #EEE; background: #EEE;
padding: 5px; padding: 5px;
overflow: auto;
font-size: 0.8em; font-size: 0.8em;
} }

View file

@ -69,7 +69,7 @@ function parse( f ) {
} }
function categorize( json ) { function categorize( json ) {
var obj = { methods: [] }; var obj = { cat: [], method: [] };
for ( var i = 0; i < json.length; i++ ) { for ( var i = 0; i < json.length; i++ ) {
if ( !json[i].cat ) json[i].cat = ""; if ( !json[i].cat ) json[i].cat = "";
@ -79,17 +79,26 @@ function categorize( json ) {
var pos = obj; var pos = obj;
for ( var j = 0; j < cat.length; j++ ) { for ( var j = 0; j < cat.length; j++ ) {
var c = cat[j]; var c = cat[j];
var curCat = null;
// Locate current category
for ( var n = 0; n < pos.cat.length; n++ )
if ( pos.cat[n].value == c )
curCat = pos.cat[n];
// Create current category // Create current category
if ( !pos[c] ) pos[c] = { methods: [] }; if ( !curCat ) {
curCat = { value: c, cat: [], method: [] };
pos.cat.push( curCat )
}
// If we're at the end, add the method // If we're at the end, add the method
if ( j == cat.length - 1 ) if ( j == cat.length - 1 )
pos[c].methods.push( json[i] ); curCat.method.push( json[i] );
// Otherwise, traverse deeper // Otherwise, traverse deeper
else else
pos = pos[c]; pos = curCat;
} }
} }

View file

@ -9,15 +9,13 @@ Object.toXML = function( obj, tag ) {
var p = "", child = ""; var p = "", child = "";
for ( var i in obj ) for ( var i in obj )
if ( obj[i].constructor != String || /</.test(obj[i] + "") || Object.toXML.force[i] ) if ( ( obj[i].constructor != String && obj[i].constructor != Number ) || /</.test(obj[i] + "") || Object.toXML.force[i] )
child += Object.toXML( obj[i], i ); child += Object.toXML( obj[i], i );
else else
p += " " + i + "='" + (obj[i] + "").replace(/'/g, "&apos;") + "'"; p += " " + i + "='" + (obj[i] + "").replace(/'/g, "&apos;") + "'";
return "<" + tag + p + ( child ? ">\n" + child + "</" + tag + ">\n" : "/>\n" ); return "<" + tag + p + ( child ? ">\n" + child + "</" + tag + ">\n" : "/>\n" );
} else if ( obj.constructor == String ) { } else if ( obj.constructor == String || obj.constructor == Number ) {
//obj = obj.replace(/&lt;/g,"<").replace(/&gt;/g,">");
//return "<" + tag + "><![CDATA[" + obj + "]]></" + tag + ">";
return "<" + tag + ">" + obj + "</" + tag + ">\n"; return "<" + tag + ">" + obj + "</" + tag + ">\n";
} }

File diff suppressed because it is too large Load diff

236
src/jquery/jquery.js vendored
View file

@ -26,6 +26,7 @@ window.undefined = window.undefined;
* @constructor * @constructor
* @private * @private
* @name jQuery * @name jQuery
* @cat Core
*/ */
function jQuery(a,c) { function jQuery(a,c) {
@ -112,7 +113,7 @@ if ( typeof $ != "undefined" )
* *
* @name $ * @name $
* @param String expr An expression to search with. * @param String expr An expression to search with.
* @param DOMElement context A DOM Element, or Document, representing the base context. * @param Element context A DOM Element, or Document, representing the base context.
* @cat Core * @cat Core
* @type jQuery * @type jQuery
*/ */
@ -131,7 +132,7 @@ if ( typeof $ != "undefined" )
* be manipulated. * be manipulated.
* *
* @name $ * @name $
* @param DOMElement elem A DOM element to be encapsulated by a jQuery object. * @param Element elem A DOM element to be encapsulated by a jQuery object.
* @cat Core * @cat Core
* @type jQuery * @type jQuery
*/ */
@ -143,7 +144,7 @@ if ( typeof $ != "undefined" )
* @desc Hides all the input elements within a form * @desc Hides all the input elements within a form
* *
* @name $ * @name $
* @param Array<DOMElement> elems An array of DOM elements to be encapsulated by a jQuery object. * @param Array<Element> elems An array of DOM elements to be encapsulated by a jQuery object.
* @cat Core * @cat Core
* @type jQuery * @type jQuery
*/ */
@ -493,9 +494,10 @@ jQuery.fn = jQuery.prototype = {
* stucture into a document, without ruining the original semantic * stucture into a document, without ruining the original semantic
* qualities of a document. * qualities of a document.
* *
* The way that is works is that it goes through the first element argument * This works by going through the first element
* provided and finds the deepest element within the structure - it is that * provided (which is generated, on the fly, from the provided HTML)
* element that will en-wrap everything else. * and finds the deepest ancestor element within its
* structure - it is that element that will en-wrap everything else.
* *
* @example $("p").wrap("<div class='wrap'></div>"); * @example $("p").wrap("<div class='wrap'></div>");
* @before <p>Test Paragraph.</p> * @before <p>Test Paragraph.</p>
@ -503,10 +505,27 @@ jQuery.fn = jQuery.prototype = {
* *
* @name wrap * @name wrap
* @type jQuery * @type jQuery
* @any String html A string of HTML, that will be created on the fly and wrapped around the target. * @param String html A string of HTML, that will be created on the fly and wrapped around the target.
* @any Element elem A DOM element that will be wrapped. * @cat DOM/Manipulation
* @any Array<Element> elems An array of elements, the first of which will be wrapped. */
* @any Object obj Any object, converted to a string, then a text node.
/**
* 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.
*
* @example $("p").wrap("<div class='wrap'></div>");
* @before <p>Test Paragraph.</p>
* @result <div class='wrap'><p>Test Paragraph.</p></div>
*
* @name wrap
* @type jQuery
* @param Element elem A DOM element that will be wrapped.
* @cat DOM/Manipulation * @cat DOM/Manipulation
*/ */
wrap: function() { wrap: function() {
@ -531,7 +550,8 @@ jQuery.fn = jQuery.prototype = {
}, },
/** /**
* Append any number of elements to the inside of all matched elements. * Append any number of elements to the inside of every matched elements,
* generated from the provided HTML.
* This operation is similar to doing an appendChild to all the * This operation is similar to doing an appendChild to all the
* specified elements, adding them into the document. * specified elements, adding them into the document.
* *
@ -541,10 +561,37 @@ jQuery.fn = jQuery.prototype = {
* *
* @name append * @name append
* @type jQuery * @type jQuery
* @any String html A string of HTML, that will be created on the fly and appended to the target. * @param String html A string of HTML, that will be created on the fly and appended to the target.
* @any Element elem A DOM element that will be appended. * @cat DOM/Manipulation
* @any Array<Element> elems An array of elements, all of which will be appended. */
* @any Object obj Any object, converted to a string, then a text node.
/**
* Append an element to the inside of all matched elements.
* This operation is similar to doing an appendChild to all the
* specified elements, adding them into the document.
*
* @example $("p").append( $("#foo")[0] );
* @before <p>I would like to say: </p><b id="foo">Hello</b>
* @result <p>I would like to say: <b id="foo">Hello</b></p>
*
* @name append
* @type jQuery
* @param Element elem A DOM element that will be appended.
* @cat DOM/Manipulation
*/
/**
* Append any number of elements to the inside of all matched elements.
* This operation is similar to doing an appendChild to all the
* specified elements, adding them into the document.
*
* @example $("p").append( $("b") );
* @before <p>I would like to say: </p><b>Hello</b>
* @result <p>I would like to say: <b>Hello</b></p>
*
* @name append
* @type jQuery
* @param Array<Element> elems An array of elements, all of which will be appended.
* @cat DOM/Manipulation * @cat DOM/Manipulation
*/ */
append: function() { append: function() {
@ -554,20 +601,48 @@ jQuery.fn = jQuery.prototype = {
}, },
/** /**
* Prepend any number of elements to the inside of all matched elements. * Prepend any number of elements to the inside of every matched elements,
* This operation is the best way to insert a set of elements inside, at the * generated from the provided HTML.
* beginning, of all the matched element. * This operation is the best way to insert dynamically created elements
* inside, at the beginning, of all the matched element.
* *
* @example $("p").prepend("<b>Hello</b>"); * @example $("p").prepend("<b>Hello</b>");
* @before <p>, how are you?</p> * @before <p>I would like to say: </p>
* @result <p><b>Hello</b>, how are you?</p> * @result <p><b>Hello</b>I would like to say: </p>
* *
* @name prepend * @name prepend
* @type jQuery * @type jQuery
* @any String html A string of HTML, that will be created on the fly and prepended to the target. * @param String html A string of HTML, that will be created on the fly and appended to the target.
* @any Element elem A DOM element that will be prepended. * @cat DOM/Manipulation
* @any Array<Element> elems An array of elements, all of which will be prepended. */
* @any Object obj Any object, converted to a string, then a text node.
/**
* Append an element to the inside of all matched elements.
* This operation is the best way to insert an element inside, at the
* beginning, of all the matched element.
*
* @example $("p").prepend( $("#foo")[0] );
* @before <p>I would like to say: </p><b id="foo">Hello</b>
* @result <p><b id="foo">Hello</b>I would like to say: </p>
*
* @name prepend
* @type jQuery
* @param Element elem A DOM element that will be appended.
* @cat DOM/Manipulation
*/
/**
* Append any number of elements to the inside of all matched elements.
* This operation is the best way to insert a set of elements inside, at the
* beginning, of all the matched element.
*
* @example $("p").prepend( $("b") );
* @before <p>I would like to say: </p><b>Hello</b>
* @result <p><b>Hello</b>I would like to say: </p>
*
* @name prepend
* @type jQuery
* @param Array<Element> elems An array of elements, all of which will be appended.
* @cat DOM/Manipulation * @cat DOM/Manipulation
*/ */
prepend: function() { prepend: function() {
@ -577,18 +652,42 @@ jQuery.fn = jQuery.prototype = {
}, },
/** /**
* Insert any number of elements before each of the matched elements. * Insert any number of dynamically generated elements before each of the
* matched elements.
* *
* @example $("p").before("<b>Hello</b>"); * @example $("p").before("<b>Hello</b>");
* @before <p>how are you?</p> * @before <p>I would like to say: </p>
* @result <b>Hello</b><p>how are you?</p> * @result <b>Hello</b><p>I would like to say: </p>
* *
* @name before * @name before
* @type jQuery * @type jQuery
* @any String html A string of HTML, that will be created on the fly and inserted. * @param String html A string of HTML, that will be created on the fly and appended to the target.
* @any Element elem A DOM element that will beinserted. * @cat DOM/Manipulation
* @any Array<Element> elems An array of elements, all of which will be inserted. */
* @any Object obj Any object, converted to a string, then a text node.
/**
* Insert an element before each of the matched elements.
*
* @example $("p").before( $("#foo")[0] );
* @before <p>I would like to say: </p><b id="foo">Hello</b>
* @result <b id="foo">Hello</b><p>I would like to say: </p>
*
* @name before
* @type jQuery
* @param Element elem A DOM element that will be appended.
* @cat DOM/Manipulation
*/
/**
* Insert any number of elements before each of the matched elements.
*
* @example $("p").before( $("b") );
* @before <p>I would like to say: </p><b>Hello</b>
* @result <b>Hello</b><p>I would like to say: </p>
*
* @name before
* @type jQuery
* @param Array<Element> elems An array of elements, all of which will be appended.
* @cat DOM/Manipulation * @cat DOM/Manipulation
*/ */
before: function() { before: function() {
@ -598,18 +697,42 @@ jQuery.fn = jQuery.prototype = {
}, },
/** /**
* Insert any number of elements after each of the matched elements. * Insert any number of dynamically generated elements after each of the
* matched elements.
* *
* @example $("p").after("<p>I'm doing fine.</p>"); * @example $("p").after("<b>Hello</b>");
* @before <p>How are you?</p> * @before <p>I would like to say: </p>
* @result <p>How are you?</p><p>I'm doing fine.</p> * @result <p>I would like to say: </p><b>Hello</b>
* *
* @name after * @name after
* @type jQuery * @type jQuery
* @any String html A string of HTML, that will be created on the fly and inserted. * @param String html A string of HTML, that will be created on the fly and appended to the target.
* @any Element elem A DOM element that will beinserted. * @cat DOM/Manipulation
* @any Array<Element> elems An array of elements, all of which will be inserted. */
* @any Object obj Any object, converted to a string, then a text node.
/**
* Insert an element after each of the matched elements.
*
* @example $("p").after( $("#foo")[0] );
* @before <b id="foo">Hello</b><p>I would like to say: </p>
* @result <p>I would like to say: </p><b id="foo">Hello</b>
*
* @name after
* @type jQuery
* @param Element elem A DOM element that will be appended.
* @cat DOM/Manipulation
*/
/**
* Insert any number of elements after each of the matched elements.
*
* @example $("p").after( $("b") );
* @before <b>Hello</b><p>I would like to say: </p>
* @result <p>I would like to say: </p><b>Hello</b>
*
* @name after
* @type jQuery
* @param Array<Element> elems An array of elements, all of which will be appended.
* @cat DOM/Manipulation * @cat DOM/Manipulation
*/ */
after: function() { after: function() {
@ -823,6 +946,7 @@ jQuery.fn = jQuery.prototype = {
* @param Number int * @param Number int
* @param Function fn The function doing the DOM manipulation. * @param Function fn The function doing the DOM manipulation.
* @type jQuery * @type jQuery
* @cat Core
*/ */
domManip: function(args, table, dir, fn){ domManip: function(args, table, dir, fn){
var clone = this.size() > 1; var clone = this.size() > 1;
@ -856,6 +980,7 @@ jQuery.fn = jQuery.prototype = {
* @param Array a * @param Array a
* @param Array args * @param Array args
* @type jQuery * @type jQuery
* @cat Core
*/ */
pushStack: function(a,args) { pushStack: function(a,args) {
var fn = args && args[args.length-1]; var fn = args && args[args.length-1];
@ -882,15 +1007,15 @@ jQuery.fn = jQuery.prototype = {
* @private * @private
* @name extend * @name extend
* @param Object obj * @param Object obj
* @param Object prop
* @type Object * @type Object
* @cat Core
*/ */
/** /**
* Extend one object with another, returning the original, * Extend one object with another, returning the original,
* modified, object. This is a great utility for simple inheritance. * modified, object. This is a great utility for simple inheritance.
* *
* @name jQuery.extend * @name $.extend
* @param Object obj The object to extend * @param Object obj The object to extend
* @param Object prop The object that will be merged into the first. * @param Object prop The object that will be merged into the first.
* @type Object * @type Object
@ -907,6 +1032,7 @@ jQuery.extend({
* @private * @private
* @name init * @name init
* @type undefined * @type undefined
* @cat Core
*/ */
init: function(){ init: function(){
jQuery.initDone = true; jQuery.initDone = true;
@ -965,7 +1091,7 @@ jQuery.extend({
* A generic iterator function, which can be used to seemlessly * A generic iterator function, which can be used to seemlessly
* iterate over both objects and arrays. * iterate over both objects and arrays.
* *
* @name jQuery.each * @name $.each
* @param Object obj The object, or array, to iterate over. * @param Object obj The object, or array, to iterate over.
* @param Object fn The function that will be executed on every object. * @param Object fn The function that will be executed on every object.
* @type Object * @type Object
@ -1264,8 +1390,10 @@ jQuery.extend({
* @test t( "Is Visible", "input:visible", ["text1","text2","radio1","radio2","check1","check2"] ); * @test t( "Is Visible", "input:visible", ["text1","text2","radio1","radio2","check1","check2"] );
* @test t( "Is Hidden", "input:hidden", ["hidden1","hidden2"] ); * @test t( "Is Hidden", "input:hidden", ["hidden1","hidden2"] );
* *
* @name jQuery.find * @name $.find
* @type Array<Element>
* @private * @private
* @cat Core
*/ */
find: function( t, context ) { find: function( t, context ) {
// Make sure that the context is a DOM Element // Make sure that the context is a DOM Element
@ -1466,10 +1594,10 @@ jQuery.extend({
/** /**
* Remove the whitespace from the beginning and end of a string. * Remove the whitespace from the beginning and end of a string.
* *
* @private * @name $.trim
* @name jQuery.trim
* @type String * @type String
* @param String str The string to trim. * @param String str The string to trim.
* @cat Javascript
*/ */
trim: function(t){ trim: function(t){
return t.replace(/^\s+|\s+$/g, ""); return t.replace(/^\s+|\s+$/g, "");
@ -1479,9 +1607,10 @@ jQuery.extend({
* All ancestors of a given element. * All ancestors of a given element.
* *
* @private * @private
* @name jQuery.parents * @name $.parents
* @type Array<Element> * @type Array<Element>
* @param Element elem The element to find the ancestors of. * @param Element elem The element to find the ancestors of.
* @cat DOM/Traversing
*/ */
parents: function( elem ){ parents: function( elem ){
var matched = []; var matched = [];
@ -1497,9 +1626,10 @@ jQuery.extend({
* All elements on a specified axis. * All elements on a specified axis.
* *
* @private * @private
* @name jQuery.sibling * @name $.sibling
* @type Array * @type Array
* @param Element elem The element to find all the siblings of (including itself). * @param Element elem The element to find all the siblings of (including itself).
* @cat DOM/Traversing
*/ */
sibling: function(elem, pos, not) { sibling: function(elem, pos, not) {
var elems = []; var elems = [];
@ -1525,11 +1655,11 @@ jQuery.extend({
/** /**
* Merge two arrays together, removing all duplicates. * Merge two arrays together, removing all duplicates.
* *
* @private * @name $.merge
* @name jQuery.merge
* @type Array * @type Array
* @param Array a The first array to merge. * @param Array a The first array to merge.
* @param Array b The second array to merge. * @param Array b The second array to merge.
* @cat Javascript
*/ */
merge: function(first, second) { merge: function(first, second) {
var result = []; var result = [];
@ -1562,12 +1692,12 @@ jQuery.extend({
* in to this method will be passed two arguments: 'a' (which is the * in to this method will be passed two arguments: 'a' (which is the
* array item) and 'i' (which is the index of the item in the array). * array item) and 'i' (which is the index of the item in the array).
* *
* @private * @name $.grep
* @name jQuery.grep
* @type Array * @type Array
* @param Array array The Array to find items in. * @param Array array The Array to find items in.
* @param Function fn The function to process each item against. * @param Function fn The function to process each item against.
* @param Boolean inv Invert the selection - select the opposite of the function. * @param Boolean inv Invert the selection - select the opposite of the function.
* @cat Javascript
*/ */
grep: function(elems, fn, inv) { grep: function(elems, fn, inv) {
// If a string is passed in for the function, make a function // If a string is passed in for the function, make a function
@ -1594,11 +1724,11 @@ jQuery.extend({
* from the array. Both of these changes imply that the size of the array may not * from the array. Both of these changes imply that the size of the array may not
* be the same size upon completion, as it was when it started. * be the same size upon completion, as it was when it started.
* *
* @private * @name $.map
* @name jQuery.map
* @type Array * @type Array
* @param Array array The Array to translate. * @param Array array The Array to translate.
* @param Function fn The function to process each item against. * @param Function fn The function to process each item against.
* @cat Javascript
*/ */
map: function(elems, fn) { map: function(elems, fn) {
// If a string is passed in for the function, make a function // If a string is passed in for the function, make a function