if ( a && a.constructor == Function && jQuery.fn.ready )
return jQuery(document).ready(a);
- // Make sure t hat a selection was provided
+ // Make sure that a selection was provided
a = a || jQuery.context || document;
/*
// Watch for when a jQuery object is passed as the selector
if ( a.jquery )
- return a;
+ return $( jQuery.merge( a, [] ) );
// Watch for when a jQuery object is passed at the context
if ( c && c.jquery )
- return jQuery(c.get()).find(a);
+ return $( c ).find(a);
// If the context is global, return a new object
if ( window == this )
// Look for the case where we're accessing a style value
jQuery[ type || "attr" ]( this[0], key );
},
-
+
/**
* Access a style property on the first matched element.
* This method makes it easy to retreive a style property value
return jQuery.find(t,a);
}), arguments );
},
+
+ clone: function(deep) {
+ return this.pushStack( jQuery.map( this, function(a){
+ return a.cloneNode( deep != undefined ? deep : true );
+ }), arguments );
+ },
/**
* Removes all elements from the set of matched elements that do not
return this.each(function(){
var obj = this;
- if ( table && this.nodeName == "TABLE" ) {
+ if ( table && this.nodeName == "TABLE" && a[0].nodeName != "THEAD" ) {
var tbody = this.getElementsByTagName("tbody");
if ( !tbody.length ) {
});
jQuery.each( jQuery.macros.css, function(i,n){
- jQuery.fn[ i ] = function(h) {
+ jQuery.fn[ n ] = function(h) {
return h == undefined ?
( this.length ? jQuery.css( this[0], n ) : null ) :
this.css( n, h );
var r = [];
for ( var i = 0; i < a.length; i++ ) {
if ( a[i].constructor == String ) {
+
+ var table = "";
- if ( !a[i].indexOf("<tr") ) {
- var tr = true;
+ if ( !a[i].indexOf("<thead") || !a[i].indexOf("<tbody") ) {
+ table = "thead";
+ a[i] = "<table>" + a[i] + "</table>";
+ } else if ( !a[i].indexOf("<tr") ) {
+ table = "tr";
a[i] = "<table>" + a[i] + "</table>";
} else if ( !a[i].indexOf("<td") || !a[i].indexOf("<th") ) {
- var td = true;
+ table = "td";
a[i] = "<table><tbody><tr>" + a[i] + "</tr></tbody></table>";
}
var div = document.createElement("div");
div.innerHTML = a[i];
- if ( tr || td ) {
- div = div.firstChild.firstChild;
- if ( td ) div = div.firstChild;
+ if ( table ) {
+ div = div.firstChild;
+ if ( table != "thead" ) div = div.firstChild;
+ if ( table == "td" ) div = div.firstChild;
}
for ( var j = 0; j < div.childNodes.length; j++ )
r.push( div.childNodes[j] );
- } else if ( a[i].jquery || a[i].length && !a[i].nodeType )
- for ( var k = 0; k < a[i].length; k++ )
- r.push( a[i][k] );
- else if ( a[i] !== null )
- r.push( a[i].nodeType ? a[i] : document.createTextNode(a[i].toString()) );
+ } else if ( a[i].jquery || a[i].length && !a[i].nodeType )
+ for ( var k = 0; k < a[i].length; k++ )
+ r.push( a[i][k] );
+ else if ( a[i] !== null )
+ r.push( a[i].nodeType ? a[i] : document.createTextNode(a[i].toString()) );
}
return r;
},
// Form elements
enabled: "!a.disabled",
disabled: "a.disabled",
- checked: "a.checked"
+ checked: "a.checked",
+ selected: "a.selected"
},
".": "jQuery.className.has(a,m[2])",
"@": {
},
each: {
+
+ removeAttr: function( key ) {
+ this.removeAttribute( key );
+ },
+
/**
* Displays each of the set of matched elements if they are hidden.
*