2014-03-26 22 views
3

我有一個HTML一樣,如何從所有子元素刪除類

<table id="message"> 
     <tr class="clsaa1"> 
     <td> 
      <div class="class3"> 
       <table class="sub_1"> 
       ---------------------- 
       ---------------------- 
       </table> 
      <div> 
     </td> 
     </tr> 
     <tr class="clsaa2"> 
     <td> 
      <div class="class3"> 
       ---------------------- 
       ---------------------- 
      <div> 
     </td> 
     </tr> 
    </table> 

我需要刪除裏面#message所有class屬性,

我試過,

$('#message').siblings().removeAttr('class'); 

AND

$('#message').children().removeAttr('class'); 

removeAttr('class')沒有工作

回答

7

相反,你可以使用removeClass("classname")

如果你想從它的孩子們刪除所有的類值,那麼不喜歡

$('#message').find("*").prop("class",""); 

甚至

$('#message').find('*') removeAttr('class'); 

這裏是a fiddle

+0

我想以相同的方式刪除一些其他屬性,不僅是類。 – Shin

+0

我也不知道班級名稱。刪除所有班級 – Shin

+0

這不會工作,你需要在兒童的孩子上。 – shenku

1

您需要使用find來抓取所有嵌套的元素,然後再使用它們。

$('#message').find('*').each(function(){ 
    $(this).removeAttr('class'); 
}) 
+0

我無法預測班級名稱 – Shin

+0

@shijin在那裏你去更新我的答案,讓我知道它是否有效。 – shenku

+0

我得到了「SyntaxError:意外的令牌*」錯誤 – Shin

0

它會正常工作

$('#message').find('*').removeAttr('class'); 
4

舊線程,但在我的情況,我想從所有子元素

$('#parentDiv').find("*").removeClass("row-selected"); 
6

簡單而優雅的解決辦法是刪除一個特定的類只是:

$(".class").removeClass("class");

+0

這是他們從一個未知的元素中剝離出一個類的最簡單的答案! –

相關問題