mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
parent
c34dbf5a8d
commit
b8133e282c
@ -87,13 +87,17 @@ jQuery.fn.extend({
|
|||||||
if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
|
if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
|
||||||
i = attrs.length;
|
i = attrs.length;
|
||||||
while ( i-- ) {
|
while ( i-- ) {
|
||||||
name = attrs[ i ].name;
|
|
||||||
|
|
||||||
|
// Support: IE11+
|
||||||
|
// The attrs elements can be null (#14894)
|
||||||
|
if ( attrs[ i ] ) {
|
||||||
|
name = attrs[ i ].name;
|
||||||
if ( name.indexOf( "data-" ) === 0 ) {
|
if ( name.indexOf( "data-" ) === 0 ) {
|
||||||
name = jQuery.camelCase( name.slice(5) );
|
name = jQuery.camelCase( name.slice(5) );
|
||||||
dataAttr( elem, name, data[ name ] );
|
dataAttr( elem, name, data[ name ] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
data_priv.set( elem, "hasDataAttrs", true );
|
data_priv.set( elem, "hasDataAttrs", true );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
16
test/data/data/dataAttrs.html
Normal file
16
test/data/data/dataAttrs.html
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title>IE11 onpageshow strangeness (#14894)</title>
|
||||||
|
<script src="../../jquery.js"></script>
|
||||||
|
<script>
|
||||||
|
$(function(){
|
||||||
|
window.parent.iframeCallback( $( "body" ).data().result );
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body x-what="test" data-result="ok" onload="x=1" onpageshow="x=1">
|
||||||
|
Test for #14894
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -801,3 +801,9 @@ test("Check proper data removal of non-element descendants nodes (#8335)", 1, fu
|
|||||||
|
|
||||||
ok( !text.data("test"), "Be sure data is not stored in non-element" );
|
ok( !text.data("test"), "Be sure data is not stored in non-element" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
testIframeWithCallback( "enumerate data attrs on body (#14894)", "data/dataAttrs.html", function( result ) {
|
||||||
|
expect(1);
|
||||||
|
|
||||||
|
equal(result, "ok", "enumeration of data- attrs on body" );
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user