X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjquery%2Fjquery.js;h=e46fc73865c83b517f3ffcb95d8f77f6aa2038b8;hb=2aa67026ebe6bea90fd137fc99b4c9422977e3f0;hp=83711def941560677c6b6006c67bfdcedd332f16;hpb=729396e6cfb1a0495399609f5929fb630a49649d;p=jquery.git
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index 83711de..e46fc73 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -1,7 +1,7 @@
/*
* jQuery @VERSION - New Wave Javascript
*
- * Copyright (c) 2006 John Resig (jquery.com)
+ * Copyright (c) 2007 John Resig (jquery.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
@@ -38,14 +38,14 @@ var jQuery = function(a,c) {
// Handle HTML strings
if ( typeof a == "string" ) {
- // HANDLE: $(html) -> $(array)
var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
- if ( m )
- a = jQuery.clean( [ m[1] ] );
+
+ a = m ?
+ // HANDLE: $(html) -> $(array)
+ jQuery.clean( [ m[1] ] ) :
- // HANDLE: $(expr)
- else
- return new jQuery( c ).find( a );
+ // HANDLE: $(expr)
+ jQuery.find( a, c );
}
return this.setArray(
@@ -122,11 +122,6 @@ var $ = jQuery;
* This function also accepts XML Documents and Window objects
* as valid arguments (even though they are not DOM Elements).
*
- * @example $(document).find("div > p")
- * @before
one
three
- * @result [ two
]
- * @desc Same as $("div > p") because the document
- *
* @example $(document.body).background( "black" );
* @desc Sets the background color of the page to black.
*
@@ -320,17 +315,17 @@ jQuery.fn = jQuery.prototype = {
* Returns -1 if the object wasn't found.
*
* @example $("*").index( $('#foobar')[0] )
- * @before
+ * @before
* @result 0
* @desc Returns the index for the element with ID foobar
*
- * @example $("*").index( $('#foo'))
- * @before
+ * @example $("*").index( $('#foo')[0] )
+ * @before
* @result 2
- * @desc Returns the index for the element with ID foo
+ * @desc Returns the index for the element with ID foo within another element
*
- * @example $("*").index( $('#bar'))
- * @before
+ * @example $("*").index( $('#bar')[0] )
+ * @before
* @result -1
* @desc Returns -1, as there is no element with ID bar
*
@@ -544,12 +539,18 @@ jQuery.fn = jQuery.prototype = {
* @cat DOM/Attributes
*/
text: function(e) {
- var type = this.length && this[0].innerText == undefined ?
- "textContent" : "innerText";
-
- return e == undefined ?
- jQuery.map(this, function(a){ return a[ type ]; }).join("") :
- this.each(function(){ this[ type ] = 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;
},
/**
@@ -1094,8 +1095,9 @@ jQuery.fn = jQuery.prototype = {
if ( table && this.nodeName.toUpperCase() == "TABLE" && a[0].nodeName.toUpperCase() == "TR" )
obj = this.getElementsByTagName("tbody")[0] || this.appendChild(document.createElement("tbody"));
- for ( var i = 0, al = a.length; i < al; i++ )
- fn.apply( obj, [ clone ? a[i].cloneNode(true) : a[i] ] );
+ jQuery.each( a, function(){
+ fn.apply( obj, [ clone ? this.cloneNode(true) : this ] );
+ });
});
}
@@ -1308,10 +1310,10 @@ jQuery.extend({
if ( p == "height" || p == "width" ) {
var old = {}, oHeight, oWidth, d = ["Top","Bottom","Right","Left"];
- for ( var i = 0, dl = d.length; i < dl; i++ ) {
- old["padding" + d[i]] = 0;
- old["border" + d[i] + "Width"] = 0;
- }
+ jQuery.each( d, function(){
+ old["padding" + this] = 0;
+ old["border" + this + "Width"] = 0;
+ });
jQuery.swap( e, old, function() {
if (jQuery.css(e,"display") != "none") {
@@ -1387,10 +1389,8 @@ jQuery.extend({
clean: function(a) {
var r = [];
- for ( var i = 0, al = a.length; i < al; i++ ) {
- var arg = a[i];
-
- if ( !arg ) continue;
+ jQuery.each( a, function(i,arg){
+ if ( !arg ) return;
if ( arg.constructor == Number )
arg = arg.toString();
@@ -1445,14 +1445,14 @@ jQuery.extend({
}
if ( arg.length === 0 )
- continue;
+ return;
if ( arg[0] == undefined )
r.push( arg );
else
r = jQuery.merge( r, arg );
- }
+ });
return r;
},