为每个tbody jquery添加表

时间:2012-12-04 21:05:52

标签: jquery

我正在学习一些jquery,我有一个关于prepend的快速问题(我已经阅读了jquery页面)

我有一张像这样的表:

<table class="tableholder">
 <tr>
   <td>row 1, cell 1</td>
   <td>row 1, cell 2</td>
 </tr>
</table> 

我尝试用我的表格做一个slideToggle效果:

var newContent = $('.tableholder').contents();  
$("<div>").prepend(newContent).hide().prependTo("#container").slideToggle(1000)

效果正确执行但我丢失了我的表格标签。我的萤火虫告诉我这个。

 <div>
   <tbody>
     <tr>
     <td>row 1, cell 1</td>
     <td>row 1, cell 2</td>
     </tr>
   </tbody>
 </div>

我只想把我的桌子放在div里面。

2 个答案:

答案 0 :(得分:1)

由于jQuery.fn.contents只获取所选元素的子元素而不是元素本身,因此您必须手动再次添加它:

var newContent = "<table class=\"tableholder\">" + $('.tableholder').html() + "</table>";  
$("<div>").prepend(newContent).hide().prependTo("#container").slideToggle(1000);

答案 1 :(得分:0)

使用.wrap()

 $(".tableholder").wrap('<div class="a" />')
                 .hide()
                 .parent('.a')
                 .prependTo("#container")
                 .slideToggle(1000)​