File tree 2 files changed +14
-2
lines changed
2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -640,7 +640,8 @@ forEach({
640
640
attr : function ( element , name , value ) {
641
641
var ret ;
642
642
var nodeType = element . nodeType ;
643
- if ( nodeType === NODE_TYPE_TEXT || nodeType === NODE_TYPE_ATTRIBUTE || nodeType === NODE_TYPE_COMMENT ) {
643
+ if ( nodeType === NODE_TYPE_TEXT || nodeType === NODE_TYPE_ATTRIBUTE || nodeType === NODE_TYPE_COMMENT ||
644
+ ! element . getAttribute ) {
644
645
return ;
645
646
}
646
647
@@ -655,7 +656,7 @@ forEach({
655
656
} else {
656
657
element . setAttribute ( name , isBooleanAttr ? lowercasedName : value ) ;
657
658
}
658
- } else if ( element . getAttribute ) {
659
+ } else {
659
660
// getter
660
661
661
662
ret = element . getAttribute ( name ) ;
Original file line number Diff line number Diff line change @@ -751,6 +751,17 @@ describe('jqLite', function() {
751
751
elm . attr ( 'multiple' , '' ) ;
752
752
expect ( elm [ 0 ] . getAttribute ( 'multiple' ) ) . toBe ( 'multiple' ) ;
753
753
} ) ;
754
+
755
+ it ( 'should not fail on elements without the getAttribute method' , function ( ) {
756
+ forEach ( [ window , document ] , function ( node ) {
757
+ expect ( function ( ) {
758
+ var elem = jqLite ( node ) ;
759
+ elem . attr ( 'foo' ) ;
760
+ elem . attr ( 'bar' , 'baz' ) ;
761
+ elem . attr ( 'bar' ) ;
762
+ } ) . not . toThrow ( ) ;
763
+ } ) ;
764
+ } ) ;
754
765
} ) ;
755
766
756
767
You can’t perform that action at this time.
0 commit comments