2012-03-13 108 views
0

只需在將課程再次應用於其他元素之前刪除高亮課程。重置所選項目。怎麼樣?無法在再次應用課程之前刪除課程

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'); 
}); 

回答

2

removeClass僅在該組匹配你怎麼稱呼它了jQuery實例的元素行爲;不在後代那套。從你的代碼:

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

...它看起來像類實際上應用於後代元素(一個或多個)(例如,那些在query選擇匹配)。

您可以找到並刪除其在所有類似的後代:

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

啊,我明白你的意思。讓我檢查:)。一件事。有沒有更好的方法來編寫上面的代碼? 。只是想知道。 – Pirzada 2012-03-13 19:06:24

+0

@shahid:不可能說沒有更多的信息,雖然第一臉紅看起來不錯。 – 2012-03-13 19:09:44

+0

@ t-j-crowder:謝謝你的幫助 – Pirzada 2012-03-13 20:13:05