[英]Remove spaces between links from html table if links removed
我在我的jsp下面的表中使用java arraylist在页面加载时动态链接
<%ArrayList<String> display = ArrayList<String>)session.getAttribute("links"); %>
<table border="0" width="100%" style ="">
<tr></tr>
<td width="20%"></td>
<table border="0" width ="50%" id="LinkDisplay">
<div id="LinkDisplay">
<%if(display!=null){
for(int p=0;p<display.size();p++){%>
<tr><td width="42%"> </td><td><a href="javascript:removeLink('<%=display.get(p)%>')"><%=display.get(p)%></a><br></td><td> </td></tr>
<% } }%>
</div>
</table>
<td></td>
<tr></tr>
</table>
当我点击链接时,它删除并隐藏调用removeLink javascript函数的链接
$('#LinkDisplay a').click(function() {
var $this = $(this);
$this.remove();
}
但是当链接删除时,它会留下链接之间的空格。 单击链接时如何删除该空间。 我试图隐藏甚至试图删除空的td元素(没有链接文本),但它没有帮助..所有链接的页面如下所示: -
点击链接后,它会留下如下空格: -
此外,如果有超过10个链接我想添加滚动条,我们可以在桌面上这样做。 如果表不是完成所有这些的正确方法,还有其他简单方法吗?
您应该删除完整的<TR>
, .closest()
可用于遍历<TR>
然后将其删除。
$('#LinkDisplay a').click(function () {
var $this = $(this);
$this.closest('tr').remove();
});
你只是删除了a
元素,你需要删除整个tr
:
$('#LinkDisplay a').click(function() {
var $this = $(this);
$this.parent().parent().remove();
}
甚至更好$this.parent("#LinkDisplay tr").remove();
。
注意:
id="LinkDisplay"
,您在此处将它用于table
和div
。 div
作为table
直接子项,它需要修复。 是的,您可以在没有table
情况下执行此操作,只需为每个链接使用div
,默认情况下它们将显示为block
,并使用您的div
而不是td
使用margin
作为内容,这种方式可以更好地管理布局。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.