Seltsames Problem, bei dem jQuery .removeClass () nichts tut

Ich habe einen Code, der einem Element Klassen hinzufügt und dann versucht, diese zu entfernen und 1 Sekunde später andere hinzuzufügen. Ich bekomme ein sehr merkwürdiges Verhalten, das ich nicht einmal in einem einfachen reproduzieren kannjsfiddle Beispiel.

Hier ist der relevante JavaScript-Code, den ich habe:

console.log('before destroyed: ' + currentTile.get(0).className);
currentTile.addClass(classes.destroyed);
console.log('after destroyed: ' + currentTile.get(0).className);

setTimeout(function () {
    console.log('before blanking: ' + currentTile.get(0).className);
    currentTile.removeClass().addClass(classes.blank + ' ui-draggable');
    console.log('after blanking: ' + currentTile.get(0).className);
}, 2000);

Und hier ist, was die Konsole sagt:

Wie Sie sehen können, fügen Sie diedestroyed Klasse funktioniert gut, aber der Aufruf anremoveClass() innerhalb dersetTimeout scheint nichts zu tun, und dann die.addClass(classes.blank + ' ui-draggable'); scheint auch gut zu funktionieren. Auch, wenn ich eine einzelne Klasse übergeberemoveClass es entfernt diese eine Klasse ohne ein Problem.

Wenn es ein kontextbezogenes Problem wäre odercurrentTile Als das falsche Element würde ich das denkenaddClass würde das auch scheitern? Hat jemand eine Idee, was hier los ist?

Zusätzliche Informationen: jQuery aktuell (v.1.9.0, glaube ich), jQuery UI v 1.10.0, Chrome v.24.0.1312.56 m

Bearbeiten: Das Problem scheint in direktem Zusammenhang mit der jQuery-Benutzeroberfläche zu stehen und tritt in aufdiese Geige.

Bearbeiten 2: Dies wurde als bestätigtFehler in jQueryund wurde behoben.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage