在HTML中向表中添加新行

时间:2012-07-31 19:26:24

标签: html html-table dart

我一直在和Dart一起玩,我喜欢它但是现在我感觉有点笨。

我正在尝试向具有此结构的html页面中的表添加新行:

<table>
   <thead>
   ...
   </thead>
   <tbody>
   ...
   </tbody>
</table>

问题在于,当我执行代码时,新行出现在tbody标记之后,然后我丢失了CSS样式。

我这样做:

TableElement myTable = query('#tabTest');
TableRowElement newLine = new TableRowElement();  
newLine.insertCell(0).text = "9";
newLine.insertCell(1).text = "aaa";
newLine.insertCell(2).text = "bbb";
newLine.insertCell(3).text = "ccc";
myTable.nodes.add(newLine);

这是错的吗?我应该怎么做才能将新行放入tbody标签内? 有人能指点我一个例子吗?

3 个答案:

答案 0 :(得分:0)

只需将此更改应用于您的托管HTML文件:

<table id="tabTest">
   <thead>
   </thead>
   <tbody id="tbody">
   </tbody>
</table>

此更改为您的Dart代码:

//  TableElement myTable = query('#tabTest');
  var myTable = query('#tbody');
  TableRowElement newLine = new TableRowElement();
  newLine.insertCell(0).text = "9";
  newLine.insertCell(1).text = "aaa";
  newLine.insertCell(2).text = "bbb";
  newLine.insertCell(3).text = "ccc";
  myTable.nodes.add(newLine);

答案 1 :(得分:0)

Dart提供了许多构建元素的方法。你可以这样做:

void TableElement makeTable(List<String> ofStuff){
   final s = new StringBuffer();

   s.add('<table>');
   s.add('<thead></thead>');
   for(final stuff in ofStuff){
      s.add('<tr><td>${stuff}</td></tr>');
   }
   s.add('</table>');

   return new Element.html(s.toString()) as TableElement;
}

答案 2 :(得分:0)

我得到了我想要的结果:

TableElement myTable = query('#tabTest');
// add at the end
TableRowElement newLine = myTable.insertRow(myTable.rows.length); 
newLine.insertCell(0).text = "9";
newLine.insertCell(1).text = "aaa";
newLine.insertCell(2).text = "bbb";
newLine.insertCell(3).text = "ccc";