File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -245,7 +245,13 @@ forEach({
245245 } ,
246246
247247 attr : function ( element , name , value ) {
248- if ( SPECIAL_ATTR [ name ] ) {
248+ if ( name === 'class' ) {
249+ if ( isDefined ( value ) ) {
250+ element . className = value ;
251+ } else {
252+ return element . className ;
253+ }
254+ } else if ( SPECIAL_ATTR [ name ] ) {
249255 if ( isDefined ( value ) ) {
250256 element [ name ] = ! ! value ;
251257 } else {
Original file line number Diff line number Diff line change @@ -168,6 +168,15 @@ describe('jqLite', function(){
168168 var elm = jqLite ( '<div class="any">a</div>' ) ;
169169 expect ( elm . attr ( 'non-existing' ) ) . toBeUndefined ( ) ;
170170 } ) ;
171+
172+ it ( 'should special-case "class" attribute' , function ( ) {
173+ // stupid IE9 returns null for element.getAttribute('class') when element has ng:class attr
174+ var elm = jqLite ( '<div class=" any " ng:class="dynCls">a</div>' ) ;
175+ expect ( elm . attr ( 'class' ) ) . toBe ( ' any ' ) ;
176+
177+ elm . attr ( 'class' , 'foo bar' ) ;
178+ expect ( elm . attr ( 'class' ) ) . toBe ( 'foo bar' ) ;
179+ } ) ;
171180 } ) ;
172181
173182
You can’t perform that action at this time.
0 commit comments