2016-06-13 139 views
0

我使用MyFaces Trinidad JSF框架,它創造TR:表如下:jQuery的添加THEAD表

<table id="myTable"> 
    <tbody> 
     <tr> 
      <th>1</th> 
      <th>2</th> 
      <th>3</th> 
     </tr> 
     <tr> 
      <td>1</td> 
      <td>2</td> 
      <td>3</td> 
     </tr> 
     <tr> 
      <td>1</td> 
      <td>2</td> 
      <td>3</td> 
     </tr> 
    </tbody> 
</table> 

我需要下面的一個實施滾動的標題。所以我想用jQuery

<table id="myTable"> 
    <thead> 
     <tr> 
      <th>1</th> 
      <th>2</th> 
      <th>3</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>1</td> 
      <td>2</td> 
      <td>3</td> 
     </tr> 
     <tr> 
      <td>1</td> 
      <td>2</td> 
      <td>3</td> 
     </tr> 
    </tbody> 
</table> 

我試圖thisthis他們的答案進行轉換,但它們都沒有解決我的問題。

+0

顯示您嘗試過的內容,鏈接到您聲稱已嘗試使用的答案。 –

+0

http://stackoverflow.com/questions/12781886/jquery-add-thead-and-add-tbody和這一個以及http://stackoverflow.com/questions/16804648/included-thead-and-tbody-on -this-table – Pat

+0

好的,這是第二部分(但它屬於問題)。顯示你已經嘗試**的**。在你的問題。 –

回答

1

裹第一行與thead並追加在表的開頭

$('#myTable tbody tr:first') // get first row 
 
    //.detach() // remove from table, it's optional to detach 
 
    .wrap('<thead/>') // wrap with tbody 
 
    .parent() // get tbody 
 
    .prependTo('#myTable') // append at the beginning
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="myTable"> 
 
<tbody> 
 
    <tr><th>1</th><th>2</th><th>3</th><th>4</th></tr> 
 
    <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
    <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
    <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
    <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
    <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
</tbody> 
 
</table>

1

可以使用

// append the first row to thead and prepend thead to #mytable 
$('<thead></thead>').append($('tbody > tr:nth-child(1)')).prependTo('#myTable'); 
// remove the first row from tbody 
$('#myTable > tbody > tr:nth-child(1)').remove(); 

// append the first row to thead and prepend thead to #mytable 
 
$('<thead></thead>').append($('tbody > tr:nth-child(1)')).prependTo('#myTable'); 
 
// remove the first row from tbody 
 
$('#myTable > tbody > tr:nth-child(1)').remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="myTable"> 
 

 
<tbody><tr><th>1</th><th>2</th><th>3</th><th>4</th></tr> 
 

 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> 
 
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr></tbody> 
 

 
</table>

+0

我試過這個var myTable = $('table.af_table_content'); \t //追加第一行到THEAD和前置THEAD到#mytable \t $( ' ').append($(' TBODY> TR:第n個孩子(1)'))。prependTo(myTable的); \t //從tbody刪除第一行 \t $('#myTable> tbody> tr:nth-​​child(1)')。remove();你能幫我改變最後一行嗎?由於沒有爲該表生成id,因此嘗試使用class屬性 – Pat

+0

@Pat:不需要該行,因爲追加移動原始tr不會複製 –