1

我有无法直接修改的代码:

<div id="registerMessage"> 
   <div class="pageTitle" style="padding:0px 0px 5px 0px;">
      Register 
   </div> 
   Some bla bla bla
</div>

<input type="hidden" name="ardir" value="" /> 
<input name="action" type="hidden" value="insert" /> 
<label>Email </label>
<div>
   <input  name="user[email]" id="user[email]" type="text" value=""  size="35" class="inputReg" />
</div>

<label>Password (5 chars)</label>
<div>
   <input name="user[passwd]" type="password" value=""  size="35" class="inputReg" />
</div>

<label>Password (confirm)</label>
<div>
   <input name="user[password_confirm]" type="password" value=""  size="35" class="inputReg" />
</div>

<div id="memomessage">
    (Other bla bla bal)
</div>            

我需要从第一个标签到最后一个div(不包括 memomessage)包装成一个新的div

<div id="registerBox"> the code of before </div>
4

3 回答 3

2
$('label:first').nextAll().andSelf().not('#memomessage').wrapAll('<div id="registerBox">') 

这是一个小提琴

于 2011-09-17T17:59:30.783 回答
2

使用以下

$('label:first').prev().nextUntil('#memomessage').wrapAll('<div id="registerBox"></div>');

http://jsfiddle.net/eeusN/1/

于 2011-09-17T18:03:23.230 回答
0

假设您不特别关心#memomessage并且想要获取标签和 div 对,您可以使用下一个相邻选择器:

var newDiv = $('<div />', {id:'registerBox'});
$('label + div').prev().andSelf().wrapAll(newDiv);

工作示例:http: //jsfiddle.net/x6pSZ/

于 2011-09-17T18:01:59.843 回答