Bug Tracker

Ticket #1591: ie-table-attr-namespace.patch

File ie-table-attr-namespace.patch, 2.1 KB (added by jdsharp, 12 years ago)

Patch against 5711

  • src/core.js

     
    10721072                                // browsers index elements by id/name on forms, give priority to attributes.
    10731073                                if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) )
    10741074                                        return elem.getAttributeNode( name ).nodeValue;
     1075                               
     1076                                if ( msie && jQuery.nodeName( elem, "table" ) && name.indexOf(':') > -1 && elem.attributes[name] === undefined )
     1077                                        return undefined;
    10751078
    10761079                                return elem[ name ];
    10771080                        }
     
    13681371// Helper function used by the dimensions and offset modules
    13691372function num(elem, prop) {
    13701373        return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;
    1371 }
    1372  No newline at end of file
     1374}
  • test/unit/core.js

     
    317317});
    318318
    319319test("attr(String)", function() {
    320         expect(26);
     320        expect(28);
    321321        equals( jQuery('#text1').attr('value'), "Test", 'Check for value attribute' );
    322322        equals( jQuery('#text1').attr('value', "Test2").attr('defaultValue'), "Test", 'Check for defaultValue attribute' );
    323323        equals( jQuery('#text1').attr('type'), "text", 'Check for type attribute' );
     
    341341        jQuery('<a id="tAnchor5"></a>').attr('href', '#5').appendTo('#main'); // using innerHTML in IE causes href attribute to be serialized to the full path
    342342        equals( jQuery('#tAnchor5').attr('href'), "#5", 'Check for non-absolute href (an anchor)' );
    343343
     344        // Related to [1591] - IE 6 & 7 throw Invalid Parameter error when a namespaced attribute on a table tag is non-existent
     345        ok( jQuery('#foo').attr('non:existent') === undefined, 'Make sure namespaced:attributes for div return undefined if non-existent' );
     346        ok( jQuery('#table').attr('non:existent') === undefined, 'Make sure namespaced:attributes for table tag return undefined if non-existent (IE6+)' );
    344347
    345348        // Related to [5574] and [5683]
    346349        var body = document.body, $body = jQuery(body);