jQuery.unique( data ) : data );
},
- clone: function(deep) {
- deep = deep != undefined ? deep : true;
+ clone: function() {
var $this = this.add(this.find("*"));
if (jQuery.browser.msie) {
// Need to remove events on the element and its descendants
// Do the clone
var r = this.pushStack( jQuery.map( this, function(a){
- return a.cloneNode( deep );
+ return a.cloneNode( true );
}) );
if (jQuery.browser.msie) {
}
// copy form values over
- if (deep) {
- var inputs = r.add(r.find('*')).filter('select,input[@type=checkbox]');
- $this.filter('select,input[@type=checkbox]').each(function(i) {
- if (this.selectedIndex)
- inputs[i].selectedIndex = this.selectedIndex;
- if (this.checked)
- inputs[i].checked = true;
- });
- }
+ var inputs = r.add(r.find('*')).filter('select,input[@type=checkbox]');
+ $this.filter('select,input[@type=checkbox]').each(function(i) {
+ if (this.selectedIndex)
+ inputs[i].selectedIndex = this.selectedIndex;
+ if (this.checked)
+ inputs[i].checked = true;
+ });
// Return the cloned set
return r;
return this.pushStack( Array.prototype.slice.apply( this, arguments ) );
},
- map: function(fn){
+ map: function(fn) {
return this.pushStack(jQuery.map( this, function(elem,i){
return fn.call( elem, i, elem );
}));
},
+
+ andSelf: function() {
+ return this.add( this.prevObject );
+ },
- domManip: function(args, table, dir, fn){
+ domManip: function(args, table, dir, fn) {
var clone = this.length > 1, a;
return this.each(function(){
// Convert html string into DOM nodes
if ( typeof arg == "string" ) {
+ // Fix "XHTML"-style tags in all browsers
+ arg = arg.replace(/(<(\w+)[^>]*?)\/>/g, function(m, all, tag){
+ return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area)$/i)? m : all+"></"+tag+">";
+ });
+
// Trim whitespace, otherwise indexOf won't work as expected
var s = jQuery.trim(arg).toLowerCase(), div = doc.createElement("div"), tb = [];
// IE elem.getAttribute passes even for style
else if ( elem.tagName ) {
- if ( value != undefined ) elem.setAttribute( name, value );
+ if ( value != undefined ) {
+ if ( name == "type" && jQuery.nodeName(elem,"input") && elem.parentNode )
+ throw "type property can't be changed";
+ elem.setAttribute( name, value );
+ }
+
if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) )
return elem.getAttribute( name, 2 );
+
return elem.getAttribute( name );
// elem is actually elem.style ... set the style
};
});
-// DEPRECATED
-jQuery.each( [ "eq", "lt", "gt", "contains" ], function(i,n){
- jQuery.fn[ n ] = function(num,fn) {
- return this.filter( ":" + n + "(" + num + ")", fn );
- };
-});
-
jQuery.each( [ "height", "width" ], function(i,n){
jQuery.fn[ n ] = function(h) {
return h == undefined ?