使用Javascript隐藏表最后一行中的按钮
这是我的html使用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>
<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;
}