使用 innerhtml 填充 div 标签有啥缺点

Posted

技术标签:

【中文标题】使用 innerhtml 填充 div 标签有啥缺点【英文标题】:what disadvantages are there to use innerhtml to populate a div tag使用 innerhtml 填充 div 标签有什么缺点 【发布时间】:2011-06-19 22:56:04 【问题描述】:

使用内部 html 填充 div 标签有什么缺点 考虑所有可能的情况。 谢谢

【问题讨论】:

【参考方案1】:

一个缺点是您需要手动转义特殊字符。因此,您需要对 >、Wikipedia article)。

这很简单,因为 .NET 库中有一些实用程序可以执行此操作,例如 HttpServerUtility.HtmlEncode,但很多人会忘记这一点,不会测试所有特殊情况。

另一个缺点是,如果您只是使用一些任意 HTML 填充 div,这意味着您可能正在手动构建 HTML,如果您只是使用字符串连接或类似原始的东西,这可能会出错那个。

如果您在做这个客户端,最好只依靠向 DOM 附加元素,而不是设置 innerHTML

【讨论】:

【参考方案2】:

已经有关于这个的辩论: http://www.developer-x.com/content/innerhtml

【讨论】:

考虑到这些天大量使用 ajax/json,这篇文章已经过时了。 @Jappie 是正确的 - 你试图使用 2002 年编写的文档作为参考今天的“辩论”?其中一些示例现在甚至无法以相同的方式工作。

以上是关于使用 innerhtml 填充 div 标签有啥缺点的主要内容,如果未能解决你的问题,请参考以下文章

使用 document.innerHTML 在 div 标签内动态生成表单

JavaScript 使用 for 循环创建填充了 innerHTML 内容的 p 标记

如何在asp.net控件InnerHtml c#中的div标签中使用类

在 div 的 innerHtml 中插入 asp 标签

JS--innerHTML属性

如何在不在 Angular 中添加标签的情况下呈现 innerHTML