Commit 0c971785 authored by John Resig's avatar John Resig

Fixed an issue with parentNode being accessed in attr() on disconnected DOM elements.

parent af1b9994
...@@ -961,7 +961,7 @@ jQuery.extend({ ...@@ -961,7 +961,7 @@ jQuery.extend({
// Safari mis-reports the default selected property of a hidden option // Safari mis-reports the default selected property of a hidden option
// Accessing the parent's selectedIndex property fixes it // Accessing the parent's selectedIndex property fixes it
if ( name == "selected" ) if ( name == "selected" && elem.parentNode )
elem.parentNode.selectedIndex; elem.parentNode.selectedIndex;
// If applicable, access the attribute via the DOM 0 way // If applicable, access the attribute via the DOM 0 way
......
...@@ -383,7 +383,7 @@ test("index(Object)", function() { ...@@ -383,7 +383,7 @@ test("index(Object)", function() {
}); });
test("attr(String)", function() { test("attr(String)", function() {
expect(26); expect(27);
equals( jQuery('#text1').attr('value'), "Test", 'Check for value attribute' ); 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('value', "Test2").attr('defaultValue'), "Test", 'Check for defaultValue attribute' );
equals( jQuery('#text1').attr('type'), "text", 'Check for type attribute' ); equals( jQuery('#text1').attr('type'), "text", 'Check for type attribute' );
...@@ -407,6 +407,8 @@ test("attr(String)", function() { ...@@ -407,6 +407,8 @@ test("attr(String)", function() {
jQuery('<a id="tAnchor5"></a>').attr('href', '#5').appendTo('#main'); // using innerHTML in IE causes href attribute to be serialized to the full path jQuery('<a id="tAnchor5"></a>').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('#tAnchor5').attr('href'), "#5", 'Check for non-absolute href (an anchor)' );
equals( jQuery("<option/>").attr("selected"), false, "Check selected attribute on disconnected element." );
// Related to [5574] and [5683] // Related to [5574] and [5683]
var body = document.body, $body = jQuery(body); var body = document.body, $body = jQuery(body);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment