2014-04-24 30 views
0

我想包装由“OK”开始班直接同级群体纳入自己的 http://jsfiddle.net/7hABQ/12/wrapall直接兄弟班到自己的div

<div class="foo"></div> 
<div class="ok-4"></div> 
<div class="ok-87"></div> 
<div class="ok-11"></div> 
<div class="bar"></div> 
<div class="baz"></div> 
<div class="ok-5a4"></div> 
<div class="ok-12"></div> 
<div class="bim">iii</div> 

成这样:

<div class="foo"></div> 
<div id="wrapper"> 
    <div class="ok-4"></div> 
    <div class="ok-87"></div> 
    <div class="ok-11"></div> 
</div> 
<div class="bar"></div> 
<div class="baz"></div> 
<div id="wrapper"> 
    <div class="ok-5a4"></div> 
    <div class="ok-12"></div> 
</div> 
<div class="bim">iii</div> 
+0

那么它工作?如果不是,你能告诉我们什么是错的吗? – BoltClock

+0

不,它只是我到目前为止的一个指标(在jsfiddle中) – Nirs

回答

3

一个可能的解决方案:

$(':not(div[class^="ok"]) + div[class^="ok"]').each(function() { 
    $(this).nextUntil(':not(div[class^="ok"])') 
      .addBack() 
      .wrapAll('<div class="wrapper"></div>'); 
}); 

DEMO:http://jsfiddle.net/7hABQ/18/

+1

+1真是个好主意。 –

+0

是的,这是一个好主意!谢谢你的愿景和Rajaprobhu。 – Nirs