0

tdが動的に生成されるテーブルがあるとします。

   <table>
   <tr>
      <td>Sample A </td>
      <td>Sample B </td>
      <td>Sample C </td>
      <td>Sample D </td>
      <td>Sample E </td>
   </tr>
  </table>

ここで、サンプルA、B、C、D、Eは動的に生成され、F、G、Hなどもあります。

すべてではなく、5つのレコードのみを表示したいのですが、どのレコードであっても、表示したいレコードは5つだけです。

6番目の列が自動的に非表示になり5が表示されるjavascriptコードの記述を手伝ってくれませんか。

誰か助けてください。

4

4 に答える 4

0

jQuery :gt() セレクターを使用してみてください:

$("table tr").find("td:gt(4), th:gt(4)").hide();
//It will find td and th elements in table at index greater than 4 (column 6, column 7, ...), then hide them
于 2013-02-26T05:06:01.290 に答える
0

jqueryの使用をお勧めします。次に、次のようになります

<script>
    var cols = $("#myRow").children("td");
    foreach...
</script>
<table>
   <tr id="myRow">
      <td>Sample A </td>
      <td>Sample B </td>
      <td>Sample C </td>
      <td>Sample D </td>
      <td>Sample E </td>
   </tr>
  </table>

残りを理解できるかどうかを確認してください:)

于 2013-02-26T04:50:32.100 に答える
0

古いブラウザーのサポートをやめても構わない場合は、純粋な CSS3 ソリューションを使用できます。

http://jsfiddle.net/nwj6S/

table#target tr > td:nth-child(n+6) {
    display:none;
}

この互換表によると、これは IE<=8 をドロップします。

于 2013-02-26T05:06:11.623 に答える
0

jQueryを使用していないと仮定しています:

var cellz = document.getElementById('thistable').rows[0].cells;
    for(i=5; i < cellz.length; i++){
      cellz[i].style.display = 'none';
    }

これにより、最初の 5 を超えるすべてのセルが非表示になります。セルを配列に収集し、配列をループして 5+ の td を非表示にします。

ニーズに合わせて5つ選びました。

ここにあなたのコードがあるはずです

   <table id="thistable">
     <tr>
       <td>Sample A </td>
       <td>Sample B </td>
       <td>Sample C </td>
       <td>Sample D </td>
       <td>Sample E </td>
     </tr>
   </table>


  <script type="text/javascript">
     // hide td's 5+
     var cellz = document.getElementById('thistable').rows[0].cells;
       for(i=5; i < cellz.length; i++){
       cellz[i].style.display = 'none';
      }
  </script>
于 2013-02-26T04:55:30.010 に答える