2014-09-04 25 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

相关问题