2014-09-04 23 views
0

我有兩個div's,我想要做的是循環所有的divs來檢查div有一個類jsn-bootstrap3,我也試圖檢查看看div是否有其他類,如果沒有,那麼我想刪除jsn-bootstrap3 div,以便孩子的內容是剩下的。jQuery檢測divs有一個類,並打開,如果沒有其他類

<div class="jsn-bootstrap3"> 
    <div class="wrapper"> 
     Div one 
    </div> 
</div> 
<div class="jsn-bootstrap3 block"> 
    <div class="wrapper"> 
     Div two 
    </div> 
</div> 


$('div').each(function() { 
    if ($(this).hasClass()) { 
     console.log($(this)); 
     var class_name = $(this).attr('jsn-bootstrap3'); 
     console.log(class_name); 
    } 
}); 

jsFiddle

回答

4

你可以嘗試像

$('div.jsn-bootstrap3').removeClass('jsn-bootstrap3').filter(function() { 
    return $.trim(this.className.replace('jsn-bootstrap3', '')) == '' 
}).contents().unwrap(); 

演示:Fiddle

  • 使用類選擇找到div的帶班JSN-bootstrap3因爲我們不是goint與他人做任何事
  • 使用過濾器()來過濾掉div的任何其他類內容
  • 使用解包()()去除包裝DIV
+0

這是幾乎沒有的,我希望刪除'.jsn,bootstrap3'來自其他div – ngplayground 2014-09-04 09:33:14

+0

無需再次替換該類,因爲它已被刪除。 ()(){ '$('div.jsn-bootstrap3')。removeClass('jsn-bootstrap3')。filter(function(){ return $ .trim(this.className)=='' })。contents() unwrap();' – Vikram 2014-09-04 09:36:49

+0

@vikram你的代碼刪除了類.jsn-bootstrap3你檢查了嗎? – RajivRisi 2014-09-04 09:39:40

相關問題