【问题标题】:jQueryUI switchClass children option has no effectjQueryUI switchClass children 选项没有效果
【发布时间】:2015-04-17 11:44:41
【问题描述】:

我想使用 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'sjsFiddle

【问题讨论】:

  • 使用children:true 实际上并没有交换任何孩子的课程。它唯一做的事情是,如果它确定它是有效的,它就会在孩子身上播放切换动画(这在理论上是为了保持一致性,但在实践中大多是无用的)。如果您的目标只是在所有元素上调用该方法,则可以使用 $("#id, #id *")
  • 啊,好的。那么,我认为文档对此有点误导。愿意回答这个问题吗,@blgt?

标签: javascript twitter-bootstrap jquery-ui


【解决方案1】:

在 cmets 中:

使用children:true 实际上并不会交换任何子级中的类。它唯一的作用是,如果它确定它是有效的,它会在孩子身上播放切换动画(理论上这有利于一致性,但我还没有找到实际用途)。

你可以使用

$("#things-names-selector, #things-names-selector *").switchClass("disabled", null);

如果您的目标只是在所有元素上调用该方法。 [它的行为与您所拥有的相同,但具有适合一行的好处]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多