Skip to content
Permalink
Browse files

jQuery objects have a default length of 0. Simplifies $() some.

  • Loading branch information
wycats committed Jul 17, 2009
1 parent a38a5cd commit 88bd74c732283cf8cd5e778439f0ea23654519d3
Showing with 12 additions and 13 deletions.
  1. +12 −13 src/core.js
@@ -39,15 +39,12 @@ jQuery.fn = jQuery.prototype = {
var match, elem, ret;

// Handle $(""), $(null), or $(undefined)
if ( !selector ) {
this.length = 0;
return this;
}
if ( !selector ) return this;

// Handle $(DOMElement)
if ( selector.nodeType ) {
this[0] = selector;
this.length = 1;
this.length++;
this.context = selector;
return this;
}
@@ -68,17 +65,16 @@ jQuery.fn = jQuery.prototype = {
} else {
elem = document.getElementById( match[3] );

// Handle the case where IE and Opera return items
// by name instead of ID
if ( elem && elem.id !== match[3] ) {
return rootjQuery.find( selector );
}

// Otherwise, we inject the element directly into the jQuery object
this.length = elem ? 1 : 0;
if ( elem ) {
// Handle the case where IE and Opera return items
// by name instead of ID
if ( elem.id !== match[3] ) return rootjQuery.find( selector );

// Otherwise, we inject the element directly into the jQuery object
this.length++;
this[0] = elem;
}

this.context = document;
this.selector = selector;
return this;
@@ -117,6 +113,9 @@ jQuery.fn = jQuery.prototype = {
// The current version of jQuery being used
jquery: "@VERSION",

// The default length of a jQuery object is 0
length: 0,

// The number of elements contained in the matched element set
size: function() {
return this.length;

0 comments on commit 88bd74c

Please sign in to comment.
You can’t perform that action at this time.