我想使用switchClass
从元素及其所有子元素中删除一个类:
$("#things-names-selector").switchClass("disabled", null, {
children: true
});
问题是它确实更新了主要元素(things-names-selector
),但它似乎没有处理它的子节点 - 它们仍然有类集。
当我尝试从元素及其子元素中单独删除类时,如下所示:
$("#things-names-selector").switchClass("disabled", null);
$("#things-names-selector").children().switchClass("disabled", null);
它按预期工作(正确)。
有什么问题?我错过了什么吗?或者它是jQueryUI中的问题?
如果这有任何意义,我也在使用twitter-bootstrap
。
Here's jsFiddle
。
答案 0 :(得分:1)
如评论中所述:
使用children:true
实际上并没有交换任何孩子的班级。它唯一能做的就是如果它确定它有效(它在理论上有利于一致性,但我还没有找到实际用途),它会对儿童进行切换动画。
您可以使用
$("#things-names-selector, #things-names-selector *").switchClass("disabled", null);
如果你的目标只是在所有元素上调用方法。 [它的行为与你拥有的相同,但有一条线适合的好处]