通过Javascript动态添加元素而不是使用CSS隐藏

时间:2012-11-10 05:07:00

标签: javascript html css

我想知道向页面添加元素并设置display:none与创建一个动态创建元素并将它们附加到需要的位置的函数的优缺点。

在我的情况下,我正在做一个回复框,该回复框附加到您要回复的任何评论。我只是通过CSS隐藏它,然后使用onclick函数将其移动到我想要的任何节点。有没有更好的办法?我很想考虑DOM渲染时间等,但我想从现在开始就把它弄好。

2 个答案:

答案 0 :(得分:1)

我更喜欢使用JavaScript在客户端动态生成元素..

原因

  • 你的HTML会更少..
  • 你可以在任何地方追加..
  • 您不需要使用不必要的CSS来隐藏/显示您的元素..

即使是好的一面,如果用户的浏览器JavaScript被关闭,那么就像你在加载时使用CSS隐藏元素一样不会是一件大事,而不是使用JavaScript这些元素根本不会加载< / p>

答案 1 :(得分:1)

两者之间最大的区别可能是搜索引擎可以抓取HTML中包含的内容。 通过Javascript添加的DOM元素不会。

就DOM渲染时间而言,只要您的代码干净且编写良好,就不会有太大差别。

展示&amp;我确信,隐藏CSS会比JS更快。