X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fjquery%2Fjquery.js;h=2ddb919cc506a4ba2746da66d1cbf72e07b9543b;hb=688c724b1f07b3e0ca7cb27b1d9f76b7b11959ce;hp=965c2798abd538cea0d493bceb2fbc1c4d94dc85;hpb=2e544e9eb89c87b9eac6df445474d21e9be604eb;p=jquery.git
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index 965c279..2ddb919 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -28,7 +28,7 @@ window.undefined = window.undefined;
* @name jQuery
* @cat Core
*/
-jQuery = function(a,c) {
+var jQuery = function(a,c) {
// Shortcut for document ready (because $(document).each() is silly)
if ( a && typeof a == "function" && jQuery.fn.ready )
@@ -50,7 +50,7 @@ jQuery = function(a,c) {
return new jQuery(a,c);
// Handle HTML strings
- if (typeof a == "string") {
+ if ( a.constructor == String ) {
var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
if ( m ) a = jQuery.clean( [ m[1] ] );
}
@@ -63,12 +63,14 @@ jQuery = function(a,c) {
// Find the matching elements and save them for later
jQuery.find( a, c ) );
- // See if an extra function was provided
+ // See if an extra function was provided
var fn = arguments[ arguments.length - 1 ];
// If so, execute it in context
if ( fn && typeof fn == "function" )
this.each(fn);
+
+ return this;
};
// Map over the $ in case of overwrite
@@ -1031,6 +1033,7 @@ jQuery.fn = jQuery.prototype = {
for ( var i = 0; i < t.length; i++ )
if ( jQuery.filter(t[i],[a]).r.length )
return a;
+ return false;
}) ||
t.constructor == Boolean &&
@@ -1294,8 +1297,17 @@ jQuery.fn = jQuery.prototype = {
* @cat Javascript
*/
jQuery.extend = jQuery.fn.extend = function(obj,prop) {
+ // Watch for the case where null or undefined gets passed in by accident
+ if ( arguments.length > 1 && (prop === null || prop == undefined) )
+ return obj;
+
+ // If no property object was provided, then we're extending jQuery
if ( !prop ) { prop = obj; obj = this; }
+
+ // Extend the base object
for ( var i in prop ) obj[i] = prop[i];
+
+ // Return the modified object
return obj;
};
@@ -1387,7 +1399,7 @@ jQuery.extend({
fn.apply( obj[i], args || [i, obj[i]] );
else
for ( var i = 0; i < obj.length; i++ )
- fn.apply( obj[i], args || [i, obj[i]] );
+ if ( fn.apply( obj[i], args || [i, obj[i]] ) === false ) break;
return obj;
},
@@ -1489,6 +1501,9 @@ jQuery.extend({
} else if (document.defaultView && document.defaultView.getComputedStyle) {
+ if (prop == "cssFloat" || prop == "styleFloat")
+ prop = "float";
+
prop = prop.replace(/([A-Z])/g,"-$1").toLowerCase();
var cur = document.defaultView.getComputedStyle(elem, null);
@@ -1571,7 +1586,7 @@ jQuery.extend({
empty: "!a.childNodes.length",
// Text Check
- contains: "((a.firstChild && a.firstChild.nodeValue)||a.innerText||a.innerHTML).indexOf(m[3])>=0",
+ contains: "jQuery.fn.text.apply([a]).indexOf(m[3])>=0",
// Visibility
visible: "a.type!='hidden'&&jQuery.css(a,'display')!='none'&&jQuery.css(a,'visibility')!='hidden'",
@@ -1661,9 +1676,9 @@ jQuery.extend({
* t( "Attribute Exists", "*[@title]", ["google"] );
* t( "Attribute Exists", "[@title]", ["google"] );
*
- * t( "Non-existing part of attribute [@name*=bla]", "[@name*=bla]", [] );
- * t( "Non-existing start of attribute [@name^=bla]", "[@name^=bla]", [] );
- * t( "Non-existing end of attribute [@name$=bla]", "[@name$=bla]", [] );
+ * t( "Non-existing part of attribute", "[@name*=bla]", [] );
+ * t( "Non-existing start of attribute", "[@name^=bla]", [] );
+ * t( "Non-existing end of attribute", "[@name$=bla]", [] );
*
* t( "Attribute Equals", "a[@rel='bookmark']", ["simon1"] );
* t( "Attribute Equals", 'a[@rel="bookmark"]', ["simon1"] );
@@ -1872,7 +1887,7 @@ jQuery.extend({
return elem.getAttributeNode(name).nodeValue;
} else if ( elem.getAttribute != undefined && elem.tagName ) { // IE elem.getAttribute passes even for style
if ( value != undefined ) elem.setAttribute( name, value );
- return elem.getAttribute( name, 2 );
+ return elem.getAttribute( name );
} else {
name = name.replace(/-([a-z])/ig,function(z,b){return b.toUpperCase();});
if ( value != undefined ) elem[name] = value;
@@ -2233,12 +2248,12 @@ jQuery.extend({
},
handle: function(event) {
- if ( typeof jQuery == "undefined" ) return;
+ if ( typeof jQuery == "undefined" ) return false;
event = event || jQuery.event.fix( window.event );
// If no correct event was found, fail
- if ( !event ) return;
+ if ( !event ) return false;
var returnValue = true;
@@ -2694,7 +2709,7 @@ jQuery.macros = {
/**
* Set the value of every matched element.
*
- * @example $("input").value("test");
+ * @example $("input").val("test");
* @before
* @result
*