0

私はいくつかのjqueryを学んでおり、プリペンドについて簡単な質問があります(私はすでに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)

効果は正しく実行されますが、テーブル タグが失われます。私のfirebugはこれを見せてくれます。

 <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 に答える