2016-04-23 26 views
1
TableElement table = new TableElement(); 
document.body.children.add(table); 
table.children.add(new Element.html("<tr><td>test</td></tr>")); 

上面的代碼片段返回錯誤:「Uncaught Bad state:No element」。閱讀DartLang網站上的API文檔,這是因爲在使用Element.html(「」)構造函數時,「HTML片段被解析爲好像它發生在<主體>標記的上下文中」。因此,我們需要寫:Dart必須在body標籤的上下文中出現element.html(「」)嗎?

new Element.html("<table><tr><td>test</td></tr></table>") 

然而,讀「鏢在行動」建立一個表時,克里斯Buckett使用此完全相同的語法。

有什麼改變或我誤解了什麼?

回答

0

這是一個瀏覽器「功能」。一個<tr>元素不能獨立存在,只是在找到一個元素時從HTML中刪除。

的文檔,以new Element.html()

Creates an HTML element from a valid fragment of HTML.

或者您可以使用

table.append(
     new TableRowElement()..append(new TableCellElement()..text = 'test')); 

DartPad example

相關問題