我正在学习一些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里面。
答案 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)