使用Javascript隐藏表最后一行中的按钮

使用Javascript隐藏表最后一行中的按钮,javascript,jquery,html,asp.net,user-interface,Javascript,Jquery,Html,Asp.net,User Interface,这是我的html <table class="table table-responsive table-bordered" style="width:100%" id="HeightConfig"> <tbody id="HeightConfigBody"> @if (Model != null) { @foreach (var data in Model.Reverse()) { <tr>

这是我的html

  <table class="table table-responsive table-bordered" style="width:100%" id="HeightConfig">
    <tbody id="HeightConfigBody">
@if (Model != null)
{
@foreach (var data in Model.Reverse())
{
     <tr>
                         <td style="width:40%">
  <label><b>Recorded Time:</b> <input type="text" id="recordDate"  class="recordDate"   
  value="@data.recordDate.ToString("yyyy-MM-dd")" disabled></label>
                      </td>



                       <td style="width:40%">
                         <label><b>Height (CM):</b> <input type="text" id="ColumnTypeData" class="ColumnTypeData" 
                          value="@data.ColumnTypeData" ></label>
                      </td>

                      <td style="width:40%">
                           <a class="btn btn-primary btn-default" title="delete"
                            data-target="#modal-container" data-toggle="modal" data-align="center">
                            <div id="minusHeight"><i class="fa fa-minus" aria-hidden="true"></i></div>
                            </a>


     <a class="btn btn-primary btn-default" title="add"  >
                              <div id="addHeight" ><i class="fa fa-plus" aria-hidden="true"></i></div>
     </a>
                       </td>

</tr>

}
}

     </tbody>
  </table>
我需要在第三列中隐藏加号按钮,并且只在最后一行显示

这就是我得到的

<script>
 debugger;
        var x = document.getElementById("HeightConfig").rows.length;
        var ctr = 1
        $("#HeightConfig tbody tr").each(function (key, value) {
            debugger;

            if (ctr != x)
            {
                $(this).find('.addHeight').hide();

            }
            ctr++;
        });
</script>

我首先得到表的长度,然后在每一行上循环,然后当计数器匹配表的最后一行时,它将不会隐藏按钮,无需如您所猜测的那样:-

在现代浏览器中,基本上除了IE8和更早版本之外的任何东西,您可以通过以下方式使用CSS:

HeightConfig tr:not:类型a的最后一个[标题=添加]{ 显示:无; } 例如:

HeightConfig tr:not:类型a的最后一个[标题=添加]{ 显示:无; } 记录时间: 身高厘米: 记录时间: 身高厘米: 记录时间: 身高厘米: 记录时间: 身高厘米: addHeight是div的id,而不是类名。 您可以将其设置为类名,也可以使用

 $(this).find('#addHeight').hide();
在代码的if条件下

如果要隐藏所有按钮,只需将addheight设置为div的类名,然后使用以下行:

$('.addHeight').hide();

您可以使用简单的CSS解决这个问题

或者使用jQuery

根据您的评论,如果您想隐藏所有按钮,您可以简单地放置:

$("#HeightConfig tr a[title=add]").hide();
或者在css中

#HeightConfig tr a[title=add] {
   display: none;
}

您有多行,但这些行包含ID为的元素。ID在页面上必须是唯一的。标记无效。如果要标识这些div,请使用类,而不是ID。我如何才能隐藏所有按钮?强烈建议不要鼓励继续使用无效的HTML。@rickyProgrammer:这不是你的问题。@rickyProgrammer:不,你应该修复HTML。请注意,正如我在回答中所指出的,CSS版本在IE8及更早版本中不起作用。IE8既不支持:last child[你的答案]也不支持:last of type[我的,虽然我不知道为什么我使用它,而不支持:last child]。@t.J.Crowder,我知道。我在回答中没有提到这一点。
$("#HeightConfig tr a[title=add]").hide();
#HeightConfig tr a[title=add] {
   display: none;
}