通过js或jQuery按需显示/隐藏表格数据

时间:2013-02-20 18:23:48

标签: javascript php jquery html-table hide

我似乎有点问题,也许有人可以帮助我。

如果没有从数据库中提取数据,我想对此代码执行的操作是隐藏表行/列。我能用以下代码做一些事情:

<div style="border: 1px solid #ccc;">

  <table class="tableizer-table">
    <tr>
      <td class="first-row" colspan="2"># Of Items in Package: <?php echo $_product->getItemsInPackage(); ?></td>
    </tr>
    <tr>
      <td class="second-row">Size Scale</td>
      <td class="second-row">Quantity</td>
    </tr>
    <tr>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_size_1') ?></td>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_quantity_one') ?></td>
    </tr>
    <tr>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_size_2')  ?></td>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_quantity_two') ?></td>
    </tr>
    <tr>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_size_3')  ?></td>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_quantity_three') ?></td>
    </tr>
      <tr>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_size_4')  ?></td>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_quantity_four') ?></td>
    </tr>
    <tr>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_size_5')  ?></td>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_quantity_five') ?></td>
    </tr>
    <tr>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_size_6')  ?></td>
      <td class="cell" style="empty-cells:hide; border-collapse: separate;"><?php echo $_product->getAttributeText('bundle_quantity_six') ?></td>
    </tr>
  </table>
</div>

基本上,bundle_size_5&amp; bundle_size_6(以及其他) - 可能存在也可能不存在,我需要隐藏这些行/列。但是我也希望用CSS(边框示例)对其进行样式化,并注意到即使它们被隐藏,预留的空间仍然存在并且边界绕过它。

有没有办法通过js或jQuery完全隐藏那些行/列,除非有数据?

1 个答案:

答案 0 :(得分:0)

尝试,

$(document).ready(function() {   
$('.tableizer-table tr').each(function() {
   var t =  $(this).find('td');
    if ( t.text() === '' ) {
     t.css('borderLeft','0px'); //or border-left
     t.hide();
    }  
  });
 });

Demo

对于属性borderLeft

Manual,而不是'border'。