0

我正在学习一些 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 内。

4

2 回答 2

1

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

var newContent = "<table class=\"tableholder\">" + $('.tableholder').html() + "</table>";  
$("<div>").prepend(newContent).hide().prependTo("#container").slideToggle(1000);
于 2012-12-04T22:14:51.440 回答
0

采用.wrap()

 $(".tableholder").wrap('<div class="a" />')
                 .hide()
                 .parent('.a')
                 .prependTo("#container")
                 .slideToggle(1000)​
于 2012-12-04T21:10:22.723 回答