我正在尝试将以下价格和文本包装在一起,所有这些都在一个div
中。
这是我所拥有的:
<table cellspacing="0" cellpadding="0" border="0" class="thePrices">
<tbody>
<tr>
<td>
<font class="text colors_text">
<b>MSRP: <span class="priceis">$90.00</span></b>
</font><br>
<b><font class="pricecolor colors_productprice">
<font class="text colors_text"><b>Burkett Price:</b></font>
<span class="priceis">$289<sup>.99</sup></span>
</font>
</b><br>
<a href="a link">A link goes here</a>
<table>A TABLE WITH STUFF GOES HERE</table>
</td>
</tr>
</tbody>
</table>
这就是我想要得到的:
<table cellspacing="0" cellpadding="0" border="0" class="thePrices">
<tbody>
<tr>
<td>
**
<div class="pricebox">**
<font class="text colors_text">
<b>MSRP: <span class="priceis">$90.00</span></b>
</font><br>
<b><font class="pricecolor colors_productprice">
<font class="text colors_text"><b>Burkett Price:</b></font>
<span class="priceis">$289<sup>.99</sup></span>
</font>
</b><br> **
</div>**
<a href="a link">A link goes here</a>
<table>A TABLE WITH STUFF GOES HERE</table>
</td>
</tr>
</tbody>
</table>
这不起作用,但你知道我做错了什么:
$(document).ready(function () {
$('.thePrices').find('td').find('font:first').before('<div class="pricebox">');
$('.thePrices').find('.colors_productprice').find('b').after('</div>');
});
也许我应该使用SLICE?
我认为你想要的是.wrapAll()
已更新,以使用.andSelf()
包含<font/>
$('.thePrices').find('td').children().first().nextUntil('a').andSelf().wrapAll('<div class="pricebox"></div>');
关于 jsfiddle 的例子
$('.thePrices>tbody>tr>td').children().slice(0,3).wrapAll('<div class="pricebox"></div>');
使用 slice() 在包装前对前 3 个子项进行切片,请注意,如果要在a
将 3 更改为 4 之前包装br
,则<br>
是子项