【问题标题】:Unable to add a row to a HTML table dynamically无法动态向 HTML 表格添加行
【发布时间】:2010-05-06 06:22:20
【问题描述】:
我无法动态地向 HTML 表中添加行。我使用IHtmlDocument2 创建tr 和td 元素,使用IHtmlElement 设置属性,使用IHtmlDomNode 将创建的节点添加到文档层次结构中。
请任何人帮我解决上述问题。
当我得到tr 标签时,我正在遍历文档我已经使用CreateElement 创建了tr 元素,然后我使用InsertBefore 将它插入到文档中,但它不起作用。
我已经尝试了一个星期,但没有任何效果。
【问题讨论】:
标签:
internet-explorer
dom
ihtmldocument2
【解决方案1】:
我建议您开始使用 JavaScript 框架,例如 jQuery 或 Prototype。无论您使用哪种浏览器,其中任何一种都允许您使用一行 JavaScript 代码实现该功能。以原型为例:
$$('table#mytable').insert({bottom: '<tr><td>some html</td></tr>'})
【解决方案2】:
使用 jQuery 是
$('table#mytable').append('<tr><td>some html</td></tr>');
【解决方案3】:
可能有点晚了。我最近更换了一个使用旧 DHTML 控件的 .Net 应用程序,但为了让它在 Windows 7 下工作,我不得不用 WebBrowser 控件替换它,这代表了功能上的重大倒退。我一直在使用底层的 IHtmlDocument2 接口来使用它。在这种情况下,我“作弊”,只是用原始 HTML 构建表格,将其作为 HTML 粘贴到剪贴板,然后使用界面的 execCommand("Paste")。这被包装在剪贴板保存器中,因此恢复了原始剪贴板状态。