【发布时间】:2013-04-27 15:30:01
【问题描述】:
我有一个这样的元素:
<div class="one two three" id="waterhorse">horse</div>
当我在浏览器控制台中运行这段代码时:
$("#waterhorse").removeClass();
我明白了:
[<div id="waterhorse" class="one two three">horse</div>]
换句话说,它不起作用;它不会删除元素上的任何类。不幸的是,我无法在 jsfiddle 中重现它。
但是,我可以删除一个特定的类:
$("#waterhorse").removeClass("two");
此外,这将删除所有类:
$("#waterhorse").removeAttr("class");
知道为什么后者可以删除所有类,但前者不能吗?
【问题讨论】:
-
@roasted 引用jQuery spec:“如果参数中没有指定类名,所有类都将被移除。”所以这应该可行。
-
在这里工作:jsfiddle.net/tKTgE/1
-
@mises 您看到这种行为的任何特定浏览器(版本)吗?还是有什么特殊情况?
-
由于过于本地化而关闭。代码确实有效,您的问题无法复制,您甚至都懒得详细说明细节。
-
我也有同样的问题。我知道用于旧版本 jQuery 的代码。 jQuery 1.9.1 和 jQuery UI 1.10.0 的组合似乎有问题。如果我删除了对 jQuery UI 的引用,那么 removeClass() 函数就会再次起作用。我将尝试测试稍新版本的 jQuery 和 JQuery UI,看看它们是否能解决问题。
标签: javascript jquery