2014-06-27 165 views
0

HTML的Html嵌套元素刪除類

<li id="tree0_2_2" data-rowkey="0_2_2"> 
    <span> 
     <span></span> 
     <span></span> 
     <span class="ui-state-highlight">Something</span> 
    </span> 
</li> 

jQuery的

var removedNode = $('#tree0_2_2'); 
$(removedNode.find(".ui-state-highlight")).removeClass('.ui-state-highlight'); 

我試過,但它didin't工作。

如何刪除類別'ui-state-higlight'

+1

你不需要類選擇('.')在'removeClass'方法。 – martincarlin87

+0

ty對於如此快速的響應。傻我。我忘了刪除'。'。所有的答案都是正確的,所以即時選擇其中的一個。 –

回答

3

你可能錯過了結束引號和removeClass

Live Demo

var removedNode = $('#tree0_2_2'); 
removedNode.find(".ui-state-highlight").removeClass('ui-state-highlight'); 

removedNode刪除.是jQuery對象,你不需要再次傳遞給$()。您可以將其減少爲單個語句。

Live Demo

$('#tree0_2_2 .ui-state-highlight').removeClass('ui-state-highlight'); 
+0

並刪除。從removeClass函數屬性 –

+0

Thanks @ Mr.TK,真是太好了。我已經改變 – Adil

+1

有人downvoted你所以我不得不對此評論和Upvote你的答案。這是100%正確的,但沒有**整個答案**。 –

3

有一個在.不需要在類名前removeClass

$('#tree0_2_2').find('.ui-state-highlight').removeClass('ui-state-highlight'); 

注:你實際上並不需要包裝jQuery的對象另一個jQuery對象幾次,只做一次,如上面的解決方案中所示。

1

試試這個。你的代碼包含許多語法錯誤

$('#tree0_2_2').find("span.ui-state-highlight").removeClass('ui-state-highlight'); 

你的代碼是這樣的

var removedNode = $('#tree0_2_2'); 
removedNode.find(".ui-state-highlight").removeClass('ui-state-highlight'); 
1

嘗試,

$("#tree0_2_2 .ui-state-highlight").removeClass('ui-state-highlight'); 

或者

$(".ui-state-highlight", "#tree0_2_2").removeClass('ui-state-highlight'); 
+0

你能解釋一下它會提取錯誤結果嗎? :) –

+1

@sudharsan現在它是正確的。 – VisioN

+0

@sudharsan因此證明.. http://jsfiddle.net/y6E5z/7/ –

1

HTML:

<li id="tree0_2_2" data-rowkey="0_2_2"> 
    <span> 
     <span></span> 
     <span></span> 
     <span class="ui-state-highlight">Something</span> 
    </span> 
</li> 

JQuery的:

var removedNode = $('#tree0_2_2'); 
removedNode.find(".ui-state-highlight").removeClass('ui-state-highlight'); 

使變量後,你不需要寫$(removedNode.find())