只想在其他元素上再次应用类之前删除高亮类。重置所选项目。怎么样?
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');
});
答案 0 :(得分:2)
removeClass
仅对您调用它的jQuery实例的匹配集中的元素起作用;不在该集的后代上。从你的代码:
$domtree.find(query).addClass('highlight').animate({ marginLeft: 10 }, 'fast');
...看起来该类实际上应用于后代元素(例如,与query
中的选择器匹配的元素)。
您可以在所有后代上找到并删除它:
$domtree.find(".highlight").removeClass("highlight");