Javascript 如果删除了链接,请从html表中删除链接之间的空格
我的jsp中有下表,其中的链接使用java arraylist在页面加载时动态出现Javascript 如果删除了链接,请从html表中删除链接之间的空格,javascript,java,jquery,html,css,Javascript,Java,Jquery,Html,Css,我的jsp中有下表,其中的链接使用java arraylist在页面加载时动态出现 <%ArrayList<String> display = ArrayList<String>)session.getAttribute("links"); %> <table border="0" width="100%" style =""> <tr></tr> <td width="20%">&
<%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>
但当删除链接时,它会在链接之间留下空间。单击链接时如何删除该空间。我试图隐藏甚至试图删除空的td元素(没有链接文本),但没有帮助。。
包含所有链接的页面如下所示:-
单击链接后,将留下如下空白:-
此外,如果有超过10个链接,我想添加滚动条,我们可以在表上这样做。
如果table不是做这一切的正确方法,还有其他简单的方法吗 您应该删除完整的
,.closest()
可用于遍历多达
,然后将其删除
$('#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
- 您的HTML无效。您不能将
div
作为表的直接子项,它需要修复
是的,您可以在没有表格的情况下执行此操作,只需为每个链接使用div
,默认情况下,它们将显示为块
,并使用边距
和div
而不是td
作为内容,这样您可以更好地管理布局。注意,您的HTML无效。不能将div
作为表的子项
您的HTML标记无效。无论如何,在CSS4中,这应该是可能的:tr:not(:has(li>a)){display:none;}
@RoryMcCrossan可以在这里使用表
,只需使用divs
代替tr
,就可以轻松地管理布局。
$('#LinkDisplay a').click(function() {
var $this = $(this);
$this.parent().parent().remove();
}