diff --git a/src/core.js b/src/core.js index 78f0cae2d7..6c439a5a6c 100644 --- a/src/core.js +++ b/src/core.js @@ -961,7 +961,7 @@ jQuery.extend({ // Safari mis-reports the default selected property of a hidden option // Accessing the parent's selectedIndex property fixes it - if ( name == "selected" ) + if ( name == "selected" && elem.parentNode ) elem.parentNode.selectedIndex; // If applicable, access the attribute via the DOM 0 way diff --git a/test/unit/core.js b/test/unit/core.js index 4d04af759a..8483361a17 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -383,7 +383,7 @@ test("index(Object)", function() { }); test("attr(String)", function() { - expect(26); + expect(27); equals( jQuery('#text1').attr('value'), "Test", 'Check for value attribute' ); equals( jQuery('#text1').attr('value', "Test2").attr('defaultValue'), "Test", 'Check for defaultValue attribute' ); equals( jQuery('#text1').attr('type'), "text", 'Check for type attribute' ); @@ -407,6 +407,8 @@ test("attr(String)", function() { jQuery('').attr('href', '#5').appendTo('#main'); // using innerHTML in IE causes href attribute to be serialized to the full path equals( jQuery('#tAnchor5').attr('href'), "#5", 'Check for non-absolute href (an anchor)' ); + equals( jQuery("