HTML的表TD具有默认值

时间:2017-02-20 14:01:35

标签: html

有没有办法填补空<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>

5 个答案:

答案 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)

有点hackish,因为它只改变了视觉方面。你可以用CSS做到这一点:

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")
  }
});