如何按类名隐藏td?

时间:2014-09-18 14:26:19

标签: javascript jquery html class html-table

我尝试在表格中隐藏一些td,当用户点击按钮显示它们时。

起初

<?php
   $riskCounter=0;
?>

然后

<tr class ="headMit<?php echo $riskCounter ?>">
    <th colspan="6">Title</th>
</tr>
<?php foreach ($actions as $action) 
{ ?>
     <tr class="body"  class ="bodyMit<?php echo $riskCounter ?>">
          <td colspan="6" style="border: 1px solid  #b4b4b4;" height="40px">
               <?php echo nl2br($action->description); ?>
          </td>
     </tr>
<?php 
} ?>

之后

<script>
       $('.bodyMit'+<?=$riskCounter ?>).hide();         
       $('.headMit'+<?=$riskCounter ?>).hide();
</script>

在某个地方按钮:

<input type="button" class="niceButton" onclick="showMitAct('<?php echo $riskCounter ?>')" value="Show/hide" />

在另一个包含所有代码的foreach的末尾(还有更多代码,但我的其余代码在这个问题中并不重要)。

<?php
   $riskCounter++;
?>

显示/隐藏功能:

function showMitAct(id) {
    if($(".headMit"+id).is(':hidden'))
    {
        $(".headMit"+id).show();
        $(".bodyMit"+id).show();
    }
    else
    {
        $(".headMit"+id).hide();
        $(".bodyMit"+id).hide();
    }   
}

好的,有一个问题。当我点击该按钮时,td class=headMit(...)隐藏并正确显示,但class=bodyMit(...)的td始终显示。

在我id代替class之前,隐藏/显示工作正常,但仅适用于bodyMit之一。而且很清楚......一个元素可能有一个id,但是类可以绑定到很多元素......

请告诉我我做错了什么或我可以在哪里搜索错误。

2 个答案:

答案 0 :(得分:1)

我不会尝试你的命题,但感谢你的回答。

问题是,我使用了两次属性类。当我在名字上改变它时,一切都很好。

答案 1 :(得分:0)

建议您使用MLS ID,但该类也可以。

您可以执行以下操作:

<tr class="body"  class ="bodyMit<?php echo $riskCounter ?>" onClick:"ocultarTr('bodyMit<?php echo $riskCounter ?>'")>

功能javascript:

function ocultarTr(idTr){
  $('.'+idTr).hide();   

}