mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Traversing: Fix contents()
on <object>
s with children in IE
The original fix didn't account for the fact that in IE `<object>` elements with no `data` attribute have an object `contentDocument`. The fix leverages the fact that this special object has a null prototype. Closes gh-4390 Ref gh-4384 Ref gh-4385
This commit is contained in:
parent
4d865d96aa
commit
ccbd6b9342
@ -1,5 +1,6 @@
|
||||
define( [
|
||||
"./core",
|
||||
"./var/getProto",
|
||||
"./var/indexOf",
|
||||
"./traversing/var/dir",
|
||||
"./traversing/var/siblings",
|
||||
@ -9,7 +10,7 @@ define( [
|
||||
"./core/init",
|
||||
"./traversing/findFilter",
|
||||
"./selector"
|
||||
], function( jQuery, indexOf, dir, siblings, rneedsContext, nodeName ) {
|
||||
], function( jQuery, getProto, indexOf, dir, siblings, rneedsContext, nodeName ) {
|
||||
|
||||
"use strict";
|
||||
|
||||
@ -145,7 +146,13 @@ jQuery.each( {
|
||||
return siblings( elem.firstChild );
|
||||
},
|
||||
contents: function( elem ) {
|
||||
if ( elem.contentDocument != null ) {
|
||||
if ( elem.contentDocument != null &&
|
||||
|
||||
// Support: IE 11+
|
||||
// <object> elements with no `data` attribute has an object
|
||||
// `contentDocument` with a `null` prototype.
|
||||
getProto( elem.contentDocument ) ) {
|
||||
|
||||
return elem.contentDocument;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user