gpt4 book ai didi

jquery - jQuery .removeClass() 没有做任何事情的奇怪问题

转载 作者:技术小花猫 更新时间:2023-10-29 10:29:50 24 4
gpt4 key购买 nike

我有一些代码将类添加到一个元素,然后尝试删除它们并在 1 秒后添加不同的类。我遇到了一些非常奇怪的行为,我什至无法在简单的 jsfiddle example 中重现。 .

这是我拥有的相关 JavaScript 代码:

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);

这是控制台的内容:

enter image description here

如您所见,添加 destroyed 类工作正常,但在 setTimeout 内调用 removeClass() 似乎是什么都不做,然后 .addClass(classes.blank + 'ui-draggable'); 似乎也工作正常。此外,如果我将单个类传递给 removeClass,它会毫无问题地删除该类。

如果是上下文问题或 currentTile 是错误的元素,我认为 addClass 也会失败?有人知道这里发生了什么吗?

附加信息:最新的 jQuery(我认为是 v.1.9.0),jQuery UI v 1.10.0,Chrome v.24.0.1312.56 m


编辑:问题似乎与 jQuery UI 直接相关,并且可以在 this fiddle 中看到.


编辑 2:这被确认为 bug in jQuery , 并已修复。

最佳答案

尝试使用 .removeAttr('class') 而不是 .removeClass()

演示:

http://jsfiddle.net/MvvmJ/8/

希望这对您有所帮助,如果您有任何问题,请告诉我!

关于jquery - jQuery .removeClass() 没有做任何事情的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14532327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com