Commit e473f3a9 authored by John Resig's avatar John Resig

Removed all the extra helper macros for 1.1, and adjusted the test suite accordingly.

parent 64557031
...@@ -368,27 +368,6 @@ test("html(String)", function() { ...@@ -368,27 +368,6 @@ test("html(String)", function() {
ok( pass, "Set HTML" ); ok( pass, "Set HTML" );
}); });
test("id()", function() {
expect(3);
ok( $(document.getElementById('main')).id() == "main", "Check for id" );
ok( $("#foo").id() == "foo", "Check for id" );
ok( !$("head").id(), "Check for id" );
});
test("title()", function() {
expect(2);
ok( $(document.getElementById('google')).title() == "Google!", "Check for title" );
ok( !$("#yahoo").title(), "Check for title" );
});
test("name()", function() {
expect(3);
ok( $(document.getElementById('text1')).name() == "action", "Check for name" );
ok( $("#hidden1").name() == "hidden", "Check for name" );
ok( !$("#area1").name(), "Check for name" );
});
test("siblings([String])", function() { test("siblings([String])", function() {
expect(3); expect(3);
isSet( $("#en").siblings().get(), q("sndp", "sap"), "Check for siblings" ); isSet( $("#en").siblings().get(), q("sndp", "sap"), "Check for siblings" );
......
...@@ -962,6 +962,64 @@ jQuery.fn = jQuery.prototype = { ...@@ -962,6 +962,64 @@ jQuery.fn = jQuery.prototype = {
return expr ? jQuery.filter(expr,this).r.length > 0 : false; return expr ? jQuery.filter(expr,this).r.length > 0 : false;
}, },
/**
* Get the current value of the first matched element.
*
* @example $("input").val();
* @before <input type="text" value="some text"/>
* @result "some text"
*
* @name val
* @type String
* @cat DOM/Attributes
*/
/**
* Set the value of every matched element.
*
* @example $("input").val("test");
* @before <input type="text" value="some text"/>
* @result <input type="text" value="test"/>
*
* @name val
* @type jQuery
* @param String val Set the property to the specified value.
* @cat DOM/Attributes
*/
val: function( val ) {
return val == undefined ? ( this.length ? this[0].value : null ) : this.attr( "value", val );
},
/**
* Get the html contents of the first matched element.
* This property is not available on XML documents.
*
* @example $("div").html();
* @before <div><input/></div>
* @result <input/>
*
* @name html
* @type String
* @cat DOM/Attributes
*/
/**
* Set the html contents of every matched element.
* This property is not available on XML documents.
*
* @example $("div").html("<b>new stuff</b>");
* @before <div><input/></div>
* @result <div><b>new stuff</b></div>
*
* @name html
* @type jQuery
* @param String val Set the html contents to the specified value.
* @cat DOM/Attributes
*/
html: function( val ) {
return val == undefined ? ( this.length ? this[0].innerHTML : null ) : this.attr( "innerHTML", val );
},
/** /**
* @private * @private
* @name domManip * @name domManip
...@@ -1096,65 +1154,6 @@ jQuery.extend({ ...@@ -1096,65 +1154,6 @@ jQuery.extend({
if(jQuery._$) if(jQuery._$)
$ = jQuery._$; $ = jQuery._$;
}, },
/**
* @private
* @name init
* @type undefined
* @cat Core
*/
init: function() {
jQuery.initDone = true;
jQuery.each( jQuery.macros.axis, function(i,n){
jQuery.fn[ i ] = function(a) {
var ret = jQuery.map(this,n);
if ( a && typeof a == "string" )
ret = jQuery.filter(a,ret).r;
return this.set( ret );
};
});
jQuery.each( jQuery.macros.to, function(i,n){
jQuery.fn[ i ] = function(){
var a = arguments;
return this.each(function(){
for ( var j = 0, al = a.length; j < al; j++ )
jQuery(a[j])[n]( this );
});
};
});
jQuery.each( jQuery.macros.each, function(i,n){
jQuery.fn[ i ] = function() {
return this.each( n, arguments );
};
});
jQuery.each( jQuery.macros.filter, function(i,n){
jQuery.fn[ n ] = function(num,fn) {
return this.filter( ":" + n + "(" + num + ")", fn );
};
});
jQuery.each( jQuery.macros.attr, function(i,n){
n = n || i;
jQuery.fn[ i ] = function(h) {
return h == undefined ?
this.length ? this[0][n] : null :
this.attr( n, h );
};
});
jQuery.each( jQuery.macros.css, function(i,n){
jQuery.fn[ n ] = function(h) {
return h == undefined ?
( this.length ? jQuery.css( this[0], n ) : null ) :
this.css( n, h );
};
});
},
/** /**
* A generic iterator function, which can be used to seemlessly * A generic iterator function, which can be used to seemlessly
...@@ -1631,904 +1630,476 @@ new function() { ...@@ -1631,904 +1630,476 @@ new function() {
jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat"; jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat";
}; };
jQuery.macros = { /**
to: { * Get a set of elements containing the unique parents of the matched
/** * set of elements.
* Append all of the matched elements to another, specified, set of elements. *
* This operation is, essentially, the reverse of doing a regular * Can be filtered with an optional expressions.
* $(A).append(B), in that instead of appending B to A, you're appending *
* A to B. * @example $("p").parent()
* * @before <div><p>Hello</p><p>Hello</p></div>
* @example $("p").appendTo("#foo"); * @result [ <div><p>Hello</p><p>Hello</p></div> ]
* @before <p>I would like to say: </p><div id="foo"></div> * @desc Find the parent element of each paragraph.
* @result <div id="foo"><p>I would like to say: </p></div> *
* @desc Appends all paragraphs to the element with the ID "foo" * @example $("p").parent(".selected")
* * @before <div><p>Hello</p></div><div class="selected"><p>Hello Again</p></div>
* @name appendTo * @result [ <div class="selected"><p>Hello Again</p></div> ]
* @type jQuery * @desc Find the parent element of each paragraph with a class "selected".
* @param String expr A jQuery expression of elements to match. *
* @cat DOM/Manipulation * @name parent
*/ * @type jQuery
appendTo: "append", * @param String expr (optional) An expression to filter the parents with
* @cat DOM/Traversing
/** */
* Prepend all of the matched elements to another, specified, set of elements.
* This operation is, essentially, the reverse of doing a regular
* $(A).prepend(B), in that instead of prepending B to A, you're prepending
* A to B.
*
* @example $("p").prependTo("#foo");
* @before <p>I would like to say: </p><div id="foo"><b>Hello</b></div>
* @result <div id="foo"><p>I would like to say: </p><b>Hello</b></div>
* @desc Prepends all paragraphs to the element with the ID "foo"
*
* @name prependTo
* @type jQuery
* @param String expr A jQuery expression of elements to match.
* @cat DOM/Manipulation
*/
prependTo: "prepend",
/**
* Insert all of the matched elements before another, specified, set of elements.
* This operation is, essentially, the reverse of doing a regular
* $(A).before(B), in that instead of inserting B before A, you're inserting
* A before B.
*
* @example $("p").insertBefore("#foo");
* @before <div id="foo">Hello</div><p>I would like to say: </p>
* @result <p>I would like to say: </p><div id="foo">Hello</div>
* @desc Same as $("#foo").before("p")
*
* @name insertBefore
* @type jQuery
* @param String expr A jQuery expression of elements to match.
* @cat DOM/Manipulation
*/
insertBefore: "before",
/**
* Insert all of the matched elements after another, specified, set of elements.
* This operation is, essentially, the reverse of doing a regular
* $(A).after(B), in that instead of inserting B after A, you're inserting
* A after B.
*
* @example $("p").insertAfter("#foo");
* @before <p>I would like to say: </p><div id="foo">Hello</div>
* @result <div id="foo">Hello</div><p>I would like to say: </p>
* @desc Same as $("#foo").after("p")
*
* @name insertAfter
* @type jQuery
* @param String expr A jQuery expression of elements to match.
* @cat DOM/Manipulation
*/
insertAfter: "after"
},
/**
* Get the current CSS width of the first matched element.
*
* @example $("p").width();
* @before <p>This is just a test.</p>
* @result "300px"
*
* @name width
* @type String
* @cat CSS
*/
/**
* Set the CSS width of every matched element. Be sure to include
* the "px" (or other unit of measurement) after the number that you
* specify, otherwise you might get strange results.
*
* @example $("p").width("20px");
* @before <p>This is just a test.</p>
* @result <p style="width:20px;">This is just a test.</p>
*
* @name width
* @type jQuery
* @param String val Set the CSS property to the specified value.
* @cat CSS
*/
/**
* Get the current CSS height of the first matched element.
*
* @example $("p").height();
* @before <p>This is just a test.</p>
* @result "14px"
*
* @name height
* @type String
* @cat CSS
*/
/**
* Set the CSS height of every matched element. Be sure to include
* the "px" (or other unit of measurement) after the number that you
* specify, otherwise you might get strange results.
*
* @example $("p").height("20px");
* @before <p>This is just a test.</p>
* @result <p style="height:20px;">This is just a test.</p>
*
* @name height
* @type jQuery
* @param String val Set the CSS property to the specified value.
* @cat CSS
*/
/** /**
* Get the current CSS top of the first matched element. * Get a set of elements containing the unique ancestors of the matched
* * set of elements (except for the root element).
* @example $("p").top(); *
* @before <p>This is just a test.</p> * Can be filtered with an optional expressions.
* @result "0px" *
* * @example $("span").parents()
* @name top * @before <html><body><div><p><span>Hello</span></p><span>Hello Again</span></div></body></html>
* @type String * @result [ <body>...</body>, <div>...</div>, <p><span>Hello</span></p> ]
* @cat CSS * @desc Find all parent elements of each span.
*/ *
* @example $("span").parents("p")
* @before <html><body><div><p><span>Hello</span></p><span>Hello Again</span></div></body></html>
* @result [ <p><span>Hello</span></p> ]
* @desc Find all parent elements of each span that is a paragraph.
*
* @name parents
* @type jQuery
* @param String expr (optional) An expression to filter the ancestors with
* @cat DOM/Traversing
*/
/** /**
* Set the CSS top of every matched element. Be sure to include * Get a set of elements containing the unique next siblings of each of the
* the "px" (or other unit of measurement) after the number that you * matched set of elements.
* specify, otherwise you might get strange results. *
* * It only returns the very next sibling, not all next siblings.
* @example $("p").top("20px"); *
* @before <p>This is just a test.</p> * Can be filtered with an optional expressions.
* @result <p style="top:20px;">This is just a test.</p> *
* * @example $("p").next()
* @name top * @before <p>Hello</p><p>Hello Again</p><div><span>And Again</span></div>
* @type jQuery * @result [ <p>Hello Again</p>, <div><span>And Again</span></div> ]
* @param String val Set the CSS property to the specified value. * @desc Find the very next sibling of each paragraph.
* @cat CSS *
*/ * @example $("p").next(".selected")
* @before <p>Hello</p><p class="selected">Hello Again</p><div><span>And Again</span></div>
* @result [ <p class="selected">Hello Again</p> ]
* @desc Find the very next sibling of each paragraph that has a class "selected".
*
* @name next
* @type jQuery
* @param String expr (optional) An expression to filter the next Elements with
* @cat DOM/Traversing
*/
/** /**
* Get the current CSS left of the first matched element. * Get a set of elements containing the unique previous siblings of each of the
* * matched set of elements.
* @example $("p").left(); *
* @before <p>This is just a test.</p> * Can be filtered with an optional expressions.
* @result "0px" *
* * It only returns the immediately previous sibling, not all previous siblings.
* @name left *
* @type String * @example $("p").prev()
* @cat CSS * @before <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
*/ * @result [ <div><span>Hello Again</span></div> ]
* @desc Find the very previous sibling of each paragraph.
*
* @example $("p").prev(".selected")
* @before <div><span>Hello</span></div><p class="selected">Hello Again</p><p>And Again</p>
* @result [ <div><span>Hello</span></div> ]
* @desc Find the very previous sibling of each paragraph that has a class "selected".
*
* @name prev
* @type jQuery
* @param String expr (optional) An expression to filter the previous Elements with
* @cat DOM/Traversing
*/
/** /**
* Set the CSS left of every matched element. Be sure to include * Get a set of elements containing all of the unique siblings of each of the
* the "px" (or other unit of measurement) after the number that you * matched set of elements.
* specify, otherwise you might get strange results. *
* * Can be filtered with an optional expressions.
* @example $("p").left("20px"); *
* @before <p>This is just a test.</p> * @example $("div").siblings()
* @result <p style="left:20px;">This is just a test.</p> * @before <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
* * @result [ <p>Hello</p>, <p>And Again</p> ]
* @name left * @desc Find all siblings of each div.
* @type jQuery *
* @param String val Set the CSS property to the specified value. * @example $("div").siblings(".selected")
* @cat CSS * @before <div><span>Hello</span></div><p class="selected">Hello Again</p><p>And Again</p>
*/ * @result [ <p class="selected">Hello Again</p> ]
* @desc Find all siblings with a class "selected" of each div.
*
* @name siblings
* @type jQuery
* @param String expr (optional) An expression to filter the sibling Elements with
* @cat DOM/Traversing
*/
/** /**
* Get the current CSS position of the first matched element. * Get a set of elements containing all of the unique children of each of the
* * matched set of elements.
* @example $("p").position(); *
* @before <p>This is just a test.</p> * Can be filtered with an optional expressions.
* @result "static" *
* * @example $("div").children()
* @name position * @before <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
* @type String * @result [ <span>Hello Again</span> ]
* @cat CSS * @desc Find all children of each div.
*/ *
* @example $("div").children(".selected")
* @before <div><span>Hello</span><p class="selected">Hello Again</p><p>And Again</p></div>
* @result [ <p class="selected">Hello Again</p> ]
* @desc Find all children with a class "selected" of each div.
*
* @name children
* @type jQuery
* @param String expr (optional) An expression to filter the child Elements with
* @cat DOM/Traversing
*/
jQuery.each({
parent: "a.parentNode",
parents: jQuery.parents,
next: "jQuery.nth(a,1,'nextSibling')",
prev: "jQuery.nth(a,1,'previousSibling')",
siblings: "jQuery.sibling(a.parentNode.firstChild,a)",
children: "jQuery.sibling(a.firstChild)"
}, function(i,n){
jQuery.fn[ i ] = function(a) {
var ret = jQuery.map(this,n);
if ( a && typeof a == "string" )
ret = jQuery.filter(a,ret).r;
return this.set( ret );
};
});
/** /**
* Set the CSS position of every matched element. * Append all of the matched elements to another, specified, set of elements.
* * This operation is, essentially, the reverse of doing a regular
* @example $("p").position("relative"); * $(A).append(B), in that instead of appending B to A, you're appending
* @before <p>This is just a test.</p> * A to B.
* @result <p style="position:relative;">This is just a test.</p> *
* * @example $("p").appendTo("#foo");
* @name position * @before <p>I would like to say: </p><div id="foo"></div>
* @type jQuery * @result <div id="foo"><p>I would like to say: </p></div>
* @param String val Set the CSS property to the specified value. * @desc Appends all paragraphs to the element with the ID "foo"
* @cat CSS *
*/ * @name appendTo
* @type jQuery
* @param String expr A jQuery expression of elements to match.
* @cat DOM/Manipulation
*/
/** /**
* Get the current CSS float of the first matched element. * Prepend all of the matched elements to another, specified, set of elements.
* * This operation is, essentially, the reverse of doing a regular
* @example $("p").float(); * $(A).prepend(B), in that instead of prepending B to A, you're prepending
* @before <p>This is just a test.</p> * A to B.
* @result "none" *
* * @example $("p").prependTo("#foo");
* @name float * @before <p>I would like to say: </p><div id="foo"><b>Hello</b></div>
* @type String * @result <div id="foo"><p>I would like to say: </p><b>Hello</b></div>
* @cat CSS * @desc Prepends all paragraphs to the element with the ID "foo"
*/ *
* @name prependTo
* @type jQuery
* @param String expr A jQuery expression of elements to match.
* @cat DOM/Manipulation
*/
/** /**
* Set the CSS float of every matched element. * Insert all of the matched elements before another, specified, set of elements.
* * This operation is, essentially, the reverse of doing a regular
* @example $("p").float("left"); * $(A).before(B), in that instead of inserting B before A, you're inserting
* @before <p>This is just a test.</p> * A before B.
* @result <p style="float:left;">This is just a test.</p> *
* * @example $("p").insertBefore("#foo");
* @name float * @before <div id="foo">Hello</div><p>I would like to say: </p>
* @type jQuery * @result <p>I would like to say: </p><div id="foo">Hello</div>
* @param String val Set the CSS property to the specified value. * @desc Same as $("#foo").before("p")
* @cat CSS *
*/ * @name insertBefore
* @type jQuery
* @param String expr A jQuery expression of elements to match.
* @cat DOM/Manipulation
*/
/** /**
* Get the current CSS overflow of the first matched element. * Insert all of the matched elements after another, specified, set of elements.
* * This operation is, essentially, the reverse of doing a regular
* @example $("p").overflow(); * $(A).after(B), in that instead of inserting B after A, you're inserting
* @before <p>This is just a test.</p> * A after B.
* @result "none" *
* * @example $("p").insertAfter("#foo");
* @name overflow * @before <p>I would like to say: </p><div id="foo">Hello</div>
* @type String * @result <div id="foo">Hello</div><p>I would like to say: </p>
* @cat CSS * @desc Same as $("#foo").after("p")
*/ *
* @name insertAfter
* @type jQuery
* @param String expr A jQuery expression of elements to match.
* @cat DOM/Manipulation
*/
/** jQuery.each({
* Set the CSS overflow of every matched element. appendTo: "append",
* prependTo: "prepend",
* @example $("p").overflow("auto"); insertBefore: "before",
* @before <p>This is just a test.</p> insertAfter: "after"
* @result <p style="overflow:auto;">This is just a test.</p> }, function(i,n){
* jQuery.fn[ i ] = function(){
* @name overflow var a = arguments;
* @type jQuery return this.each(function(){
* @param String val Set the CSS property to the specified value. for ( var j = 0, al = a.length; j < al; j++ )
* @cat CSS jQuery(a[j])[n]( this );
*/ });
};
});
/** /**
* Get the current CSS color of the first matched element. * Remove an attribute from each of the matched elements.
* *
* @example $("p").color(); * @example $("input").removeAttr("disabled")
* @before <p>This is just a test.</p> * @before <input disabled="disabled"/>
* @result "black" * @result <input/>
* *
* @name color * @name removeAttr
* @type String * @type jQuery
* @cat CSS * @param String name The name of the attribute to remove.
*/ * @cat DOM
*/
/** /**
* Set the CSS color of every matched element. * Displays each of the set of matched elements if they are hidden.
* *
* @example $("p").color("blue"); * @example $("p").show()
* @before <p>This is just a test.</p> * @before <p style="display: none">Hello</p>
* @result <p style="color:blue;">This is just a test.</p> * @result [ <p style="display: block">Hello</p> ]
* *
* @name color * @name show
* @type jQuery * @type jQuery
* @param String val Set the CSS property to the specified value. * @cat Effects
* @cat CSS */
*/
/** /**
* Get the current CSS background of the first matched element. * Hides each of the set of matched elements if they are shown.
* *
* @example $("p").background(); * @example $("p").hide()
* @before <p style="background:blue;">This is just a test.</p> * @before <p>Hello</p>
* @result "blue" * @result [ <p style="display: none">Hello</p> ]
* *
* @name background * var pass = true, div = $("div");
* @type String * div.hide().each(function(){
* @cat CSS * if ( this.style.display != "none" ) pass = false;
*/ * });
* ok( pass, "Hide" );
*
* @name hide
* @type jQuery
* @cat Effects
*/
/** /**
* Set the CSS background of every matched element. * Toggles each of the set of matched elements. If they are shown,
* * toggle makes them hidden. If they are hidden, toggle
* @example $("p").background("blue"); * makes them shown.
* @before <p>This is just a test.</p> *
* @result <p style="background:blue;">This is just a test.</p> * @example $("p").toggle()
* * @before <p>Hello</p><p style="display: none">Hello Again</p>
* @name background * @result [ <p style="display: none">Hello</p>, <p style="display: block">Hello Again</p> ]
* @type jQuery *
* @param String val Set the CSS property to the specified value. * @name toggle
* @cat CSS * @type jQuery
*/ * @cat Effects
*/
css: "width,height,top,left,position,float,overflow,color,background".split(","), /**
* Adds the specified class to each of the set of matched elements.
*
* @example $("p").addClass("selected")
* @before <p>Hello</p>
* @result [ <p class="selected">Hello</p> ]
*
* @name addClass
* @type jQuery
* @param String class A CSS class to add to the elements
* @cat DOM
* @see removeClass(String)
*/
/** /**
* Reduce the set of matched elements to a single element. * Removes all or the specified class from the set of matched elements.
* The position of the element in the set of matched elements *
* starts at 0 and goes to length - 1. * @example $("p").removeClass()
* * @before <p class="selected">Hello</p>
* @example $("p").eq(1) * @result [ <p>Hello</p> ]
* @before <p>This is just a test.</p><p>So is this</p> *
* @result [ <p>So is this</p> ] * @example $("p").removeClass("selected")
* * @before <p class="selected first">Hello</p>
* @name eq * @result [ <p class="first">Hello</p> ]
* @type jQuery *
* @param Number pos The index of the element that you wish to limit to. * @name removeClass
* @cat Core * @type jQuery
*/ * @param String class (optional) A CSS class to remove from the elements
* @cat DOM
* @see addClass(String)
*/
/** /**
* Reduce the set of matched elements to all elements before a given position. * Adds the specified class if it is not present, removes it if it is
* The position of the element in the set of matched elements * present.
* starts at 0 and goes to length - 1. *
* * @example $("p").toggleClass("selected")
* @example $("p").lt(1) * @before <p>Hello</p><p class="selected">Hello Again</p>
* @before <p>This is just a test.</p><p>So is this</p> * @result [ <p class="selected">Hello</p>, <p>Hello Again</p> ]
* @result [ <p>This is just a test.</p> ] *
* * @name toggleClass
* @name lt * @type jQuery
* @type jQuery * @param String class A CSS class with which to toggle the elements
* @param Number pos Reduce the set to all elements below this position. * @cat DOM
* @cat Core */
*/
/** /**
* Reduce the set of matched elements to all elements after a given position. * Removes all matched elements from the DOM. This does NOT remove them from the
* The position of the element in the set of matched elements * jQuery object, allowing you to use the matched elements further.
* starts at 0 and goes to length - 1. *
* * Can be filtered with an optional expressions.
* @example $("p").gt(0) *
* @before <p>This is just a test.</p><p>So is this</p> * @example $("p").remove();
* @result [ <p>So is this</p> ] * @before <p>Hello</p> how are <p>you?</p>
* * @result how are
* @name gt *
* @type jQuery * @example $("p").remove(".hello");
* @param Number pos Reduce the set to all elements after this position. * @before <p class="hello">Hello</p> how are <p>you?</p>
* @cat Core * @result how are <p>you?</p>
*/ *
* @name remove
* @type jQuery
* @param String expr (optional) A jQuery expression to filter elements by.
* @cat DOM/Manipulation
*/
/** /**
* Filter the set of elements to those that contain the specified text. * Removes all child nodes from the set of matched elements.
* *
* @example $("p").contains("test") * @example $("p").empty()
* @before <p>This is just a test.</p><p>So is this</p> * @before <p>Hello, <span>Person</span> <a href="#">and person</a></p>
* @result [ <p>This is just a test.</p> ] * @result [ <p></p> ]
* *
* @name contains * @name empty
* @type jQuery * @type jQuery
* @param String str The string that will be contained within the text of an element. * @cat DOM/Manipulation
* @cat DOM/Traversing */
*/
filter: [ "eq", "lt", "gt", "contains" ], jQuery.each( {
removeAttr: function( key ) {
attr: { jQuery.attr( this, key, "" );
/** this.removeAttribute( key );
* Get the current value of the first matched element.
*
* @example $("input").val();
* @before <input type="text" value="some text"/>
* @result "some text"
*
* @name val
* @type String
* @cat DOM/Attributes
*/
/**
* Set the value of every matched element.
*
* @example $("input").val("test");
* @before <input type="text" value="some text"/>
* @result <input type="text" value="test"/>
*
* @name val
* @type jQuery
* @param String val Set the property to the specified value.
* @cat DOM/Attributes
*/
val: "value",
/**
* Get the html contents of the first matched element.
* This property is not available on XML documents.
*
* @example $("div").html();
* @before <div><input/></div>
* @result <input/>
*
* @name html
* @type String
* @cat DOM/Attributes
*/
/**
* Set the html contents of every matched element.
* This property is not available on XML documents.
*
* @example $("div").html("<b>new stuff</b>");
* @before <div><input/></div>
* @result <div><b>new stuff</b></div>
*
* @name html
* @type jQuery
* @param String val Set the html contents to the specified value.
* @cat DOM/Attributes
*/
html: "innerHTML",
/**
* Get the current id of the first matched element.
*
* @example $("input").id();
* @before <input type="text" id="test" value="some text"/>
* @result "test"
*
* @name id
* @type String
* @cat DOM/Attributes
*/
/**
* Set the id of every matched element.
*
* @example $("input").id("newid");
* @before <input type="text" id="test" value="some text"/>
* @result <input type="text" id="newid" value="some text"/>
*
* @name id
* @type jQuery
* @param String val Set the property to the specified value.
* @cat DOM/Attributes
*/
id: null,
/**
* Get the current title of the first matched element.
*
* @example $("img").title();
* @before <img src="test.jpg" title="my image"/>
* @result "my image"
*
* @name title
* @type String
* @cat DOM/Attributes
*/
/**
* Set the title of every matched element.
*
* @example $("img").title("new title");
* @before <img src="test.jpg" title="my image"/>
* @result <img src="test.jpg" title="new image"/>
*
* @name title
* @type jQuery
* @param String val Set the property to the specified value.
* @cat DOM/Attributes
*/
title: null,
/**
* Get the current name of the first matched element.
*
* @example $("input").name();
* @before <input type="text" name="username"/>
* @result "username"
*
* @name name
* @type String
* @cat DOM/Attributes
*/
/**
* Set the name of every matched element.
*
* @example $("input").name("user");
* @before <input type="text" name="username"/>
* @result <input type="text" name="user"/>
*
* @name name
* @type jQuery
* @param String val Set the property to the specified value.
* @cat DOM/Attributes
*/
name: null,
/**
* Get the current href of the first matched element.
*
* @example $("a").href();
* @before <a href="test.html">my link</a>
* @result "test.html"
*
* @name href
* @type String
* @cat DOM/Attributes
*/
/**
* Set the href of every matched element.
*
* @example $("a").href("test2.html");
* @before <a href="test.html">my link</a>
* @result <a href="test2.html">my link</a>
*
* @name href
* @type jQuery
* @param String val Set the property to the specified value.
* @cat DOM/Attributes
*/
href: null,
/**
* Get the current src of the first matched element.
*
* @example $("img").src();
* @before <img src="test.jpg" title="my image"/>
* @result "test.jpg"
*
* @name src
* @type String
* @cat DOM/Attributes
*/
/**
* Set the src of every matched element.
*
* @example $("img").src("test2.jpg");
* @before <img src="test.jpg" title="my image"/>
* @result <img src="test2.jpg" title="my image"/>
*
* @name src
* @type jQuery
* @param String val Set the property to the specified value.
* @cat DOM/Attributes
*/
src: null,
/**
* Get the current rel of the first matched element.
*
* @example $("a").rel();
* @before <a href="test.html" rel="nofollow">my link</a>
* @result "nofollow"
*
* @name rel
* @type String
* @cat DOM/Attributes
*/
/**
* Set the rel of every matched element.
*
* @example $("a").rel("nofollow");
* @before <a href="test.html">my link</a>
* @result <a href="test.html" rel="nofollow">my link</a>
*
* @name rel
* @type jQuery
* @param String val Set the property to the specified value.
* @cat DOM/Attributes
*/
rel: null
}, },
show: function(){
axis: { this.style.display = this.oldblock ? this.oldblock : "";
/** if ( jQuery.css(this,"display") == "none" )
* Get a set of elements containing the unique parents of the matched this.style.display = "block";
* set of elements.
*
* Can be filtered with an optional expressions.
*
* @example $("p").parent()
* @before <div><p>Hello</p><p>Hello</p></div>
* @result [ <div><p>Hello</p><p>Hello</p></div> ]
* @desc Find the parent element of each paragraph.
*
* @example $("p").parent(".selected")
* @before <div><p>Hello</p></div><div class="selected"><p>Hello Again</p></div>
* @result [ <div class="selected"><p>Hello Again</p></div> ]
* @desc Find the parent element of each paragraph with a class "selected".
*
* @name parent
* @type jQuery
* @param String expr (optional) An expression to filter the parents with
* @cat DOM/Traversing
*/
parent: "a.parentNode",
/**
* Get a set of elements containing the unique ancestors of the matched
* set of elements (except for the root element).
*
* Can be filtered with an optional expressions.
*
* @example $("span").parents()
* @before <html><body><div><p><span>Hello</span></p><span>Hello Again</span></div></body></html>
* @result [ <body>...</body>, <div>...</div>, <p><span>Hello</span></p> ]
* @desc Find all parent elements of each span.
*
* @example $("span").parents("p")
* @before <html><body><div><p><span>Hello</span></p><span>Hello Again</span></div></body></html>
* @result [ <p><span>Hello</span></p> ]
* @desc Find all parent elements of each span that is a paragraph.
*
* @name parents
* @type jQuery
* @param String expr (optional) An expression to filter the ancestors with
* @cat DOM/Traversing
*/
parents: jQuery.parents,
/**
* Get a set of elements containing the unique next siblings of each of the
* matched set of elements.
*
* It only returns the very next sibling, not all next siblings.
*
* Can be filtered with an optional expressions.
*
* @example $("p").next()
* @before <p>Hello</p><p>Hello Again</p><div><span>And Again</span></div>
* @result [ <p>Hello Again</p>, <div><span>And Again</span></div> ]
* @desc Find the very next sibling of each paragraph.
*
* @example $("p").next(".selected")
* @before <p>Hello</p><p class="selected">Hello Again</p><div><span>And Again</span></div>
* @result [ <p class="selected">Hello Again</p> ]
* @desc Find the very next sibling of each paragraph that has a class "selected".
*
* @name next
* @type jQuery
* @param String expr (optional) An expression to filter the next Elements with
* @cat DOM/Traversing
*/
next: "jQuery.nth(a,1,'nextSibling')",
/**
* Get a set of elements containing the unique previous siblings of each of the
* matched set of elements.
*
* Can be filtered with an optional expressions.
*
* It only returns the immediately previous sibling, not all previous siblings.
*
* @example $("p").prev()
* @before <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
* @result [ <div><span>Hello Again</span></div> ]
* @desc Find the very previous sibling of each paragraph.
*
* @example $("p").prev(".selected")
* @before <div><span>Hello</span></div><p class="selected">Hello Again</p><p>And Again</p>
* @result [ <div><span>Hello</span></div> ]
* @desc Find the very previous sibling of each paragraph that has a class "selected".
*
* @name prev
* @type jQuery
* @param String expr (optional) An expression to filter the previous Elements with
* @cat DOM/Traversing
*/
prev: "jQuery.nth(a,1,'previousSibling')",
/**
* Get a set of elements containing all of the unique siblings of each of the
* matched set of elements.
*
* Can be filtered with an optional expressions.
*
* @example $("div").siblings()
* @before <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
* @result [ <p>Hello</p>, <p>And Again</p> ]
* @desc Find all siblings of each div.
*
* @example $("div").siblings(".selected")
* @before <div><span>Hello</span></div><p class="selected">Hello Again</p><p>And Again</p>
* @result [ <p class="selected">Hello Again</p> ]
* @desc Find all siblings with a class "selected" of each div.
*
* @name siblings
* @type jQuery
* @param String expr (optional) An expression to filter the sibling Elements with
* @cat DOM/Traversing
*/
siblings: "jQuery.sibling(a.parentNode.firstChild,a)",
/**
* Get a set of elements containing all of the unique children of each of the
* matched set of elements.
*
* Can be filtered with an optional expressions.
*
* @example $("div").children()
* @before <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
* @result [ <span>Hello Again</span> ]
* @desc Find all children of each div.
*
* @example $("div").children(".selected")
* @before <div><span>Hello</span><p class="selected">Hello Again</p><p>And Again</p></div>
* @result [ <p class="selected">Hello Again</p> ]
* @desc Find all children with a class "selected" of each div.
*
* @name children
* @type jQuery
* @param String expr (optional) An expression to filter the child Elements with
* @cat DOM/Traversing
*/
children: "jQuery.sibling(a.firstChild)"
}, },
hide: function(){
this.oldblock = this.oldblock || jQuery.css(this,"display");
if ( this.oldblock == "none" )
this.oldblock = "block";
this.style.display = "none";
},
toggle: function(){
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ].apply( jQuery(this), arguments );
},
addClass: function(c){
jQuery.className.add(this,c);
},
removeClass: function(c){
jQuery.className.remove(this,c);
},
toggleClass: function( c ){
jQuery.className[ jQuery.className.has(this,c) ? "remove" : "add" ](this, c);
},
remove: function(a){
if ( !a || jQuery.filter( a, [this] ).r )
this.parentNode.removeChild( this );
},
empty: function() {
while ( this.firstChild )
this.removeChild( this.firstChild );
}
}, function(i,n){
jQuery.fn[ i ] = function() {
return this.each( n, arguments );
};
});
each: { /**
* Reduce the set of matched elements to a single element.
/** * The position of the element in the set of matched elements
* Remove an attribute from each of the matched elements. * starts at 0 and goes to length - 1.
* *
* @example $("input").removeAttr("disabled") * @example $("p").eq(1)
* @before <input disabled="disabled"/> * @before <p>This is just a test.</p><p>So is this</p>
* @result <input/> * @result [ <p>So is this</p> ]
* *
* @name removeAttr * @name eq
* @type jQuery * @type jQuery
* @param String name The name of the attribute to remove. * @param Number pos The index of the element that you wish to limit to.
* @cat DOM * @cat Core
*/ */
removeAttr: function( key ) {
jQuery.attr( this, key, "" );
this.removeAttribute( key );
},
/**
* Displays each of the set of matched elements if they are hidden.
*
* @example $("p").show()
* @before <p style="display: none">Hello</p>
* @result [ <p style="display: block">Hello</p> ]
*
* @name show
* @type jQuery
* @cat Effects
*/
show: function(){
this.style.display = this.oldblock ? this.oldblock : "";
if ( jQuery.css(this,"display") == "none" )
this.style.display = "block";
},
/**
* Hides each of the set of matched elements if they are shown.
*
* @example $("p").hide()
* @before <p>Hello</p>
* @result [ <p style="display: none">Hello</p> ]
*
* var pass = true, div = $("div");
* div.hide().each(function(){
* if ( this.style.display != "none" ) pass = false;
* });
* ok( pass, "Hide" );
*
* @name hide
* @type jQuery
* @cat Effects
*/
hide: function(){
this.oldblock = this.oldblock || jQuery.css(this,"display");
if ( this.oldblock == "none" )
this.oldblock = "block";
this.style.display = "none";
},
/**
* Toggles each of the set of matched elements. If they are shown,
* toggle makes them hidden. If they are hidden, toggle
* makes them shown.
*
* @example $("p").toggle()
* @before <p>Hello</p><p style="display: none">Hello Again</p>
* @result [ <p style="display: none">Hello</p>, <p style="display: block">Hello Again</p> ]
*
* @name toggle
* @type jQuery
* @cat Effects
*/
toggle: function(){
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ].apply( jQuery(this), arguments );
},
/**
* Adds the specified class to each of the set of matched elements.
*
* @example $("p").addClass("selected")
* @before <p>Hello</p>
* @result [ <p class="selected">Hello</p> ]
*
* @name addClass
* @type jQuery
* @param String class A CSS class to add to the elements
* @cat DOM
* @see removeClass(String)
*/
addClass: function(c){
jQuery.className.add(this,c);
},
/**
* Removes all or the specified class from the set of matched elements.
*
* @example $("p").removeClass()
* @before <p class="selected">Hello</p>
* @result [ <p>Hello</p> ]
*
* @example $("p").removeClass("selected")
* @before <p class="selected first">Hello</p>
* @result [ <p class="first">Hello</p> ]
*
* @name removeClass
* @type jQuery
* @param String class (optional) A CSS class to remove from the elements
* @cat DOM
* @see addClass(String)
*/
removeClass: function(c){
jQuery.className.remove(this,c);
},
/**
* Adds the specified class if it is not present, removes it if it is
* present.
*
* @example $("p").toggleClass("selected")
* @before <p>Hello</p><p class="selected">Hello Again</p>
* @result [ <p class="selected">Hello</p>, <p>Hello Again</p> ]
*
* @name toggleClass
* @type jQuery
* @param String class A CSS class with which to toggle the elements
* @cat DOM
*/
toggleClass: function( c ){
jQuery.className[ jQuery.className.has(this,c) ? "remove" : "add" ](this, c);
},
/** /**
* Removes all matched elements from the DOM. This does NOT remove them from the * Reduce the set of matched elements to all elements before a given position.
* jQuery object, allowing you to use the matched elements further. * The position of the element in the set of matched elements
* * starts at 0 and goes to length - 1.
* Can be filtered with an optional expressions. *
* * @example $("p").lt(1)
* @example $("p").remove(); * @before <p>This is just a test.</p><p>So is this</p>
* @before <p>Hello</p> how are <p>you?</p> * @result [ <p>This is just a test.</p> ]
* @result how are *
* * @name lt
* @example $("p").remove(".hello"); * @type jQuery
* @before <p class="hello">Hello</p> how are <p>you?</p> * @param Number pos Reduce the set to all elements below this position.
* @result how are <p>you?</p> * @cat Core
* */
* @name remove
* @type jQuery
* @param String expr (optional) A jQuery expression to filter elements by.
* @cat DOM/Manipulation
*/
remove: function(a){
if ( !a || jQuery.filter( a, [this] ).r )
this.parentNode.removeChild( this );
},
/** /**
* Removes all child nodes from the set of matched elements. * Reduce the set of matched elements to all elements after a given position.
* * The position of the element in the set of matched elements
* @example $("p").empty() * starts at 0 and goes to length - 1.
* @before <p>Hello, <span>Person</span> <a href="#">and person</a></p> *
* @result [ <p></p> ] * @example $("p").gt(0)
* * @before <p>This is just a test.</p><p>So is this</p>
* @name empty * @result [ <p>So is this</p> ]
* @type jQuery *
* @cat DOM/Manipulation * @name gt
*/ * @type jQuery
empty: function() { * @param Number pos Reduce the set to all elements after this position.
while ( this.firstChild ) * @cat Core
this.removeChild( this.firstChild ); */
}
}
};
jQuery.init(); /**
\ No newline at end of file * Filter the set of elements to those that contain the specified text.
*
* @example $("p").contains("test")
* @before <p>This is just a test.</p><p>So is this</p>
* @result [ <p>This is just a test.</p> ]
*
* @name contains
* @type jQuery
* @param String str The string that will be contained within the text of an element.
* @cat DOM/Traversing
*/
jQuery.each( [ "eq", "lt", "gt", "contains" ], function(i,n){
jQuery.fn[ n ] = function(num,fn) {
return this.filter( ":" + n + "(" + num + ")", fn );
};
});
\ No newline at end of file
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment