Added async option (ticket #367)
[jquery.git] / src / jquery / jquery.js
index 93ebe20..44eedf2 100644 (file)
@@ -1472,7 +1472,7 @@ jQuery.extend({
                if ( p == "height" || p == "width" ) {
                        var old = {}, oHeight, oWidth, d = ["Top","Bottom","Right","Left"];
 
-                       for ( var i in d ) {
+                       for ( var i=0; i<d.length; i++ ) {
                                old["padding" + d[i]] = 0;
                                old["border" + d[i] + "Width"] = 0;
                        }
@@ -1648,12 +1648,8 @@ jQuery.extend({
                ">|/", "jQuery.sibling(a.firstChild)",
                "\\+", "jQuery.sibling(a).next",
                "~", function(a){
-                       var r = [];
                        var s = jQuery.sibling(a);
-                       if ( s.n > 0 )
-                               for ( var i = s.n; i < s.length; i++ )
-                                       r.push( s[i] );
-                       return r;
+                       return s.n >= 0 ? s.slice(s.n+1) : [];
                }
        ],
 
@@ -1903,7 +1899,7 @@ jQuery.extend({
                        return elem[fix[name]];
                } else if( value == undefined && jQuery.browser.msie && elem.nodeName && elem.nodeName.toUpperCase() == 'FORM' && (name == 'action' || name == 'method') ) {
                        return elem.getAttributeNode(name).nodeValue;
-               } else if ( (jQuery.browser.msie || elem.getAttribute != undefined) && elem.tagName ) { // IE elem.getAttribute passes even for style; Do not "call" elem.getAttribute in IE <- weird crap
+               } else if ( elem.tagName ) { // IE elem.getAttribute passes even for style
                        if ( value != undefined ) elem.setAttribute( name, value );
                        return elem.getAttribute( name );
                } else {
@@ -2245,8 +2241,8 @@ jQuery.extend({
                },
 
                trigger: function(type,data,element) {
-                       // Touch up the incoming data
-                       data = data || [];
+                       // Clone the incoming data, if any
+                       data = $.merge([], data || []);
 
                        // Handle a global trigger
                        if ( !element ) {
@@ -3318,8 +3314,8 @@ jQuery.macros = {
                },
 
                /**
-                * Adds the specified class if it is present, removes it if it is
-                * not present.
+                * Adds the specified class if it is not present, removes it if it is
+                * present.
                 *
                 * @example $("p").toggleClass("selected")
                 * @before <p>Hello</p><p class="selected">Hello Again</p>