【发布时间】:2012-04-27 17:14:34
【问题描述】:
我有一个 MVC 应用程序,其中一个页面通过 ajax 调用一个控制器方法,然后返回一个包含大量表行的局部视图。请注意,不会返回完整的表格,而只会返回表格行。
我需要在表格中的特定位置添加这些表格行。我有一个对表的引用,需要在之后添加行(或者在添加新行之后,实际上引用的行将被删除)。使用 jQuery 这将非常简单:
$(newRows).insertAfter(tr);
tr.remove();
问题是 newRows html 可能非常大,我发现通过 jQuery 插入它们可能需要相当长的时间。在没有 jQuery 的情况下插入行,仅通过纯 javascript 更快。
我的问题是我一生都无法弄清楚如何在给定表格行之后或之前插入新行。我已经尝试过 insertBefore、insertAfter 和 appendTo 方法,但问题是 newRows 变量只是一个 html 字符串而不是实际的 DOM 节点。有没有办法在引用表格行之前或之后插入 html 而不必将表格行的 html 字符串转换为 DOM 元素?
【问题讨论】:
-
你能提供一个 jsfiddle 例子来说明你的问题吗
-
DOM 不是字符串。为什么不正确地创建行?
-
“正确”是相对的。它们正在正确创建,但必须用数据库中的数据填充。这是一个 ASP.NET MVC 应用程序,我正在利用它返回一个局部视图,其中包含所有“正确”形成的表行,这些行将占用大量 javascript 和客户端逻辑来创建。
标签: javascript html-table