Fix #8482, offsetParent should not return null. Closes gh-847.

This commit is contained in:
Nowres Rafid 2012-07-06 09:58:34 -04:00 committed by Dave Methvin
parent 05aff40231
commit aaf134bb70
3 changed files with 8 additions and 2 deletions

View File

@ -138,7 +138,7 @@ jQuery.fn.extend({
while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
offsetParent = offsetParent.offsetParent; offsetParent = offsetParent.offsetParent;
} }
return offsetParent; return offsetParent || document.body;
}); });
} }
}); });

View File

@ -305,6 +305,9 @@ Z</textarea>
<div id="fx-tests"></div> <div id="fx-tests"></div>
</div> </div>
<map name="imgmap" id="imgmap">
<area shape="rect" coords="0,0,200,50">
</map>
</body> </body>
</html> </html>

View File

@ -440,7 +440,7 @@ test("chaining", function() {
}); });
test("offsetParent", function(){ test("offsetParent", function(){
expect(11); expect(12);
var body = jQuery("body").offsetParent(); var body = jQuery("body").offsetParent();
equal( body.length, 1, "Only one offsetParent found." ); equal( body.length, 1, "Only one offsetParent found." );
@ -464,6 +464,9 @@ test("offsetParent", function(){
equal( div.length, 2, "Two offsetParent found." ); equal( div.length, 2, "Two offsetParent found." );
equal( div[0], document.body, "The body is the offsetParent." ); equal( div[0], document.body, "The body is the offsetParent." );
equal( div[1], jQuery("#nothiddendiv")[0], "The div is the offsetParent." ); equal( div[1], jQuery("#nothiddendiv")[0], "The div is the offsetParent." );
var area = jQuery("#imgmap area").offsetParent();
equal( area[0], document.body, "The body is the offsetParent." );
}); });
test("fractions (see #7730 and #7885)", function() { test("fractions (see #7730 and #7885)", function() {