2017-06-06 80 views
0

我有一個任務是將每列的n列表分隔到不同的表。將表列分列到不同的表

我的這種想法:

  1. 我在每列th
  2. 因此th可能是新列的檢測器。
  3. 我需要在每列中找到tr td
  4. 我需要創建新表-N與th-N valueth
  5. 我需要粘貼每個tr td-Nth

所以按照我的想法,我寫了下面的代碼:

jQuery(document).ready(function($) { 
 
    function tableshoot() { 
 

 
     $("table th").each(function() { 
 
      var $this = $(this); 
 
      var thistext = $this.html(); 
 
      var index = $this.index(); 
 

 
      var tdList = $this.closest("table").find("tr").find("td:eq(" + index + ")").html(); 
 

 
      $this.closest("table").append('<table class="mob-table-' + index + '"><tbody><tr><th>' + thistext + '</th></tr></tbody></table>'); 
 

 
      $this.closest("table").find("tr").find("td:eq(" + index + ")").each(function() { 
 
       var tdcontent = $(this).html(); 
 
       $('table.mob-table-' + index + ' tbody').append('<tr><td>' + tdcontent + '</td></tr>'); 
 
      }); 
 
     }); 
 

 
    }; 
 
    tableshoot(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tbody> 
 
    <tr> 
 
     <th> 
 
     COL 1 
 
     </th> 
 
     <th> 
 
     COL 2 
 
     </th> 
 
     <th> 
 
     COL 3 
 
     </th> 
 
    </tr> 
 
    <tr> 
 
     <td>VAL 1</td> 
 
     <td>VAL 2</td> 
 
     <td>VAL 3</td> 
 
    </tr> 
 
    <tr> 
 
     <td>VAL 11</td> 
 
     <td>VAL 22</td> 
 
     <td>VAL 33</td> 
 
    </tr> 
 
    <tr> 
 
     <td>VAL 111</td> 
 
     <td>VAL 222</td> 
 
     <td>VAL 333</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

我的問題是:

是對的嗎?還是有更乾淨的方法來做到這一點?

無論我的代碼是否可行。希望這有助於某人。

回答

0

一些小東西:

  1. 「找到(」 TR 「)。找到(」 TD:EQ(... 「改爲 」找到(TR TD:EQ ......「
  2. 」 $( 「表TH」)。每個(函數()$( 「表第 」」,以改變「)。每個(函數(指數,值)」,對清潔訪問索引和值。

jQuery doc each

相關問題