在再次申请课程之前无法删除课程

时间:2012-03-13 18:57:18

标签: jquery

只想在其他元素上再次应用类之前删除高亮类。重置所选项目。怎么样?

removeClass在以下代码中不起作用。

$("#toggleCustom").on("click", function () {
    var $this = $(this),
    $domtree = $this.parents('div.section').find('div.domtree'),
    query = $this.prev().val();
    //$domtree.removeClass('highlight').animate({ marginLeft: 0 }, 'fast');
    $domtree.find(query).addClass('highlight').animate({ marginLeft: 10 }, 'fast');
});

1 个答案:

答案 0 :(得分:2)

removeClass仅对您调用它的jQuery实例的匹配集中的元素起作用;不在该集的后代上。从你的代码:

$domtree.find(query).addClass('highlight').animate({ marginLeft: 10 }, 'fast');

...看起来该类实际上应用于后代元素(例如,与query中的选择器匹配的元素)。

您可以在所有后代上找到并删除它:

$domtree.find(".highlight").removeClass("highlight");