有没有办法填补空<td></td>
,如果数据不存在?
<table><tr><td></td><td>1</td><td></td></tr></table>
将其更改为:
<table><tr><td>Not Data</td><td>1</td><td>No Data</td></tr></table>
答案 0 :(得分:3)
不是HTML本身。
通常,您可以通过使用编程语言和模板中的数据生成HTML来实现此目的,如果没有来自数据,则使用模板逻辑插入默认值。
答案 1 :(得分:2)
不能仅仅使用html。
这取决于您如何构建HTML-DOM。如果它只是一个纯HTML文件(* .html),您可以通过添加一些JavaScrit / JQuery来检查值。
但是如果你想这样做,请确保给你的table / tr或td提供元素ID。
<table>
<tr id="1">
<td id="1_1"></td>
<td id="1_2">1</td>
<td id="1_3"></td>
</tr>
</table>
<script type="text">
/* For the amount of rows */
for(var outeri = 1; outeri <= 1; outeri++)
{
/* For the amount of columns */
for(var ineri = 1; ineri <= 3; ineri)
{
var innertd = String(outeri + '_' + ineri);
if(document.getElementById(inntertd).innerHTML == '')
{
document.getElementById(inntertd).innerHTML = 'No Data';
}
else {continue;}
}
}
</script>
这个例子不太现实,除非你的表只是静态的,否则很可能不会这样做。
答案 2 :(得分:1)
table, td {border: 1px solid black; padding: 4px; border-collapse: collapse}
td:empty::before {content: "No Data"}
<table>
<tr>
<td></td>
<td>Real data</td>
<td></td>
</tr>
</table>
答案 3 :(得分:0)
你可以添加一个空格:&amp; nbsp;
答案 4 :(得分:0)
这可以通过多种方式实现,这里有2个(c#和jquery) 解决方案:
c#:
使用razor,如下所示:
<table>
<thead>
<tr>
<td>Name</td>
<td>Date</td>
</tr>
</thead>
<tbody>
<tr>
@{
if(data)
{
<td>@data.name</td>
<td>@data.date</td>
}
else
{
<td colspan="2">NO DATA</td>
}
}
</tr>
</tbody>
</table>
jQuery的:
选择表并根据是否有任何数据更改html
$(document).ready(function()
{
var table = $("table-selector");
var isData = $("data-selector").length;
if(!isData){
table.html("customize HTML right here, considering 'colspan' in case
there is a headers row as well")
}
});