Skip to content

Commit e1b940d

Browse files
committed
We removed deleteExpando after 1.4.2, for some reason. This caused problems with removeData() (no arguments). Fixes #7209.
1 parent 2582876 commit e1b940d

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/support.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
optSelected: opt.selected,
6262

6363
// Will be defined later
64+
deleteExpando: true,
6465
optDisabled: false,
6566
checkClone: false,
6667
scriptEval: false,
@@ -91,6 +92,15 @@
9192
delete window[ id ];
9293
}
9394

95+
// Test to see if it's possible to delete an expando from an element
96+
// Fails in Internet Explorer
97+
try {
98+
delete script.test;
99+
100+
} catch(e) {
101+
jQuery.support.deleteExpando = false;
102+
}
103+
94104
root.removeChild( script );
95105

96106
if ( div.attachEvent && div.fireEvent ) {

test/unit/data.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,11 +284,16 @@ test(".data(Object)", function() {
284284
});
285285

286286
test("jQuery.removeData", function() {
287-
expect(5);
287+
expect(7);
288288
var div = jQuery("#foo")[0];
289289
jQuery.data(div, "test", "testing");
290290
jQuery.removeData(div, "test");
291291
equals( jQuery.data(div, "test"), undefined, "Check removal of data" );
292+
293+
jQuery.data(div, "test2", "testing");
294+
jQuery.removeData( div );
295+
ok( !jQuery.data(div, "test2"), "Make sure that the data property no longer exists." );
296+
ok( !div[ jQuery.expando ], "Make sure the expando no longer exists, as well." );
292297

293298
var obj = {};
294299
jQuery.data(obj, "test", "testing");

0 commit comments

Comments
 (0)