Added fix for broken $("../..",foo).
[jquery.git] / src / jquery / jquery.js
index ef55567..f64835a 100644 (file)
@@ -69,7 +69,7 @@ function jQuery(a,c) {
 }
 
 // Map over the $ in case of overwrite
-if ( $ )
+if ( typeof $ != "undefined" )
        jQuery._$ = $;
 
 // Map the jQuery namespace to the '$' one
@@ -378,8 +378,9 @@ jQuery.fn = jQuery.prototype = {
                for ( var j = 0; j < e.length; j++ ) {
                        var r = e[j].childNodes;
                        for ( var i = 0; i < r.length; i++ )
-                               t += r[i].nodeType != 1 ?
-                                       r[i].nodeValue : jQuery.fn.text([ r[i] ]);
+                               if ( r[i].nodeType != 8 )
+                                       t += r[i].nodeType != 1 ?
+                                               r[i].nodeValue : jQuery.fn.text([ r[i] ]);
                }
                return t;
        },
@@ -637,6 +638,7 @@ jQuery.fn = jQuery.prototype = {
         * @example $("p").not("#selected")
         * @before <p>Hello</p><p id="selected">Hello Again</p>
         * @result [ <p>Hello</p> ]
+        * @test cmpOK($("#main > p#ap > a").not("#google").length, "==", 2, ".not")
         *
         * @name not
         * @type jQuery
@@ -1024,6 +1026,7 @@ jQuery.extend({
                        odd: "i%2",
                        
                        // Child Checks
+                       "nth-child": "jQuery.sibling(a,m[3]).cur",
                        "first-child": "jQuery.sibling(a,0).cur",
                        "last-child": "jQuery.sibling(a,0).last",
                        "only-child": "jQuery.sibling(a).length==1",
@@ -1196,6 +1199,8 @@ jQuery.extend({
                        var foundToken = false;
                        
                        for ( var i = 0; i < jQuery.token.length; i += 2 ) {
+                               if ( foundToken ) continue;
+
                                var re = new RegExp("^(" + jQuery.token[i] + ")");
                                var m = re.exec(t);
                                
@@ -1232,12 +1237,12 @@ jQuery.extend({
                                                        );
                                        }
                                }
-                       }
        
-                       if ( t ) {
-                               var val = jQuery.filter(t,r);
-                               ret = r = val.r;
-                               t = jQuery.trim(val.t);
+                               if ( t ) {
+                                       var val = jQuery.filter(t,r);
+                                       ret = r = val.r;
+                                       t = jQuery.trim(val.t);
+                               }
                        }
                }
        
@@ -1264,7 +1269,9 @@ jQuery.extend({
                        "class": "className",
                        "float": "cssFloat",
                        innerHTML: "innerHTML",
-                       className: "className"
+                       className: "className",
+                       value: "value",
+                       disabled: "disabled"
                };
 
                if ( fix[name] ) {
@@ -2382,7 +2389,7 @@ jQuery.macros = {
                 * @param String expr An expression to filter the child Elements with
                 * @cat DOM/Traversing
                 */
-               children: "a.childNodes"
+               children: "jQuery.sibling(a.firstChild)"
        },
 
        each: {
@@ -2548,7 +2555,7 @@ jQuery.macros = {
                 * @cat DOM/Manipulation
                 */
                remove: function(a){
-                       if ( !a || jQuery.filter( [this], a ).r )
+                       if ( !a || jQuery.filter( a, [this] ).r )
                                this.parentNode.removeChild( this );
                },