Bug Tracker

Ticket #220: jquery-220-patch.txt

File jquery-220-patch.txt, 1.4 KB (added by [email protected], 15 years ago)
Line 
1Index: src/jquery/jquery.js
2===================================================================
3--- src/jquery/jquery.js        (revision 361)
4+++ src/jquery/jquery.js        (working copy)
5@@ -392,6 +392,14 @@
6         * @test ok( $('#name').attr('name') == "name", 'Check for name attribute' );
7         * @test ok( $('#text1').attr('name') == "action", 'Check for name attribute' );
8         * @test ok( $('#form').attr('action') == "formaction", 'Check for action attribute' );
9+        * @test var xmltext = '<test><child myattr="hello"/></test>';
10+        * var xmldoc;
11+        * try {
12+        *      xmldoc = new DOMParser().parseFromString(xmltext, 'text/xml');
13+        * } catch(ex) {
14+        *      xmldoc = new ActiveXObject('Microsoft.XMLDOM'); xmldoc.loadXML(xmltext);
15+        * }
16+        * ok( $('child', xmldoc).attr('myattr') == "hello", 'Check for read attribute from XML doc' );
17         *
18         * @name attr
19         * @type Object
20@@ -1824,9 +1832,13 @@
21                if ( fix[name] ) {
22                        if ( value != undefined ) elem[fix[name]] = value;
23                        return elem[fix[name]];
24-               } else if ( elem.getAttribute != undefined ) {
25+               } else if ( typeof elem.getAttribute != "undefined" ) {
26                        if ( value != undefined ) elem.setAttribute( name, value );
27-                       return elem.getAttribute( name, 2 );
28+                       try {
29+                               return elem.getAttribute( name, 2 );
30+                       } catch(ex) {
31+                               return elem.getAttribute(name);
32+                       }
33                } else {
34                        name = name.replace(/-([a-z])/ig,function(z,b){return b.toUpperCase();});
35                        if ( value != undefined ) elem[name] = value;