javascript中的createElement或CSS中的hide元素

时间:2014-06-02 23:26:55

标签: javascript css createelement

我一直在观看教程,并且我已经看到了两种向文档中添加新元素的方法。 一种方法是在javascript中创建元素,然后为其分配类/ id或做任何你想做的事情。通过这种方式,元素在内存中是最重要的......至少是教程中所说的内容。另一种方法是在CSS中创建元素,然后使用display:none,稍后使用JS将显示更改为块/内联。

哪种方法更好?还是一种场景的答案?两者的好处是什么?或者它们是否相同而且它只是基于偏好?

很抱歉,如果这是一个重复的问题,我不知道这些方法的用途。

3 个答案:

答案 0 :(得分:2)

这取决于具体情况。我个人会在页面上使用元素,然后使用CSS显示属性隐藏或显示它。如今浏览器的速度非常快,因为创建/删除元素的JavaScript不会对客户造成负担,所以这不是一个很大的问题,但对我来说,从可维护性的角度来看,这似乎是一种更清晰的方法

在不知道您正在构建的内容的背景下很难分辨,但通常我要做的是有一个目标占位符,例如DIV,在请求内容时将内容加载到其中。因此,占位符DIV在内容加载之前不可见。这对于您不希望同时加载大量数据的单页应用程序非常有用,并且可以根据请求获取该内容。

对于较小的任务,显示或隐藏元素是绰绰有余的,特别是如果元素内的内容不是动态的。

答案 1 :(得分:2)

我更喜欢将标记与我的JavaScript分开,在单独的文件中(我使用模板库而不是在JavaScript中创建html)。如果所有标记位于同一位置,并且所有脚本位于不同的位置,我发现维护代码更容易。

除了可维护性之外,我认为这不重要。

答案 2 :(得分:1)

对于SEO目的,我会使用CSS方法。