javascript中的createElement或CSS中的hide元素

javascript中的createElement或CSS中的hide元素,javascript,css,createelement,Javascript,Css,Createelement,我一直在看教程,我看到了两种向文档中添加新元素的方法。 一种方法是在javascript中创建元素,然后为其分配class/id或执行任何您想要的操作。这样,元素就“在内存中”…至少教程中是这么说的。另一种方法是在CSS中创建元素,然后使用display:none,稍后使用JS将display更改为block/inline 哪种方法更好?或者这是一种情景式的回答?两者的好处是什么?或者它们是一样的,只是基于偏好 抱歉,如果这是一个重复的问题,我不知道调用了什么方法。这取决于具体情况。我个人会在页

我一直在看教程,我看到了两种向文档中添加新元素的方法。 一种方法是在javascript中创建元素,然后为其分配class/id或执行任何您想要的操作。这样,元素就“在内存中”…至少教程中是这么说的。另一种方法是在CSS中创建元素,然后使用display:none,稍后使用JS将display更改为block/inline

哪种方法更好?或者这是一种情景式的回答?两者的好处是什么?或者它们是一样的,只是基于偏好


抱歉,如果这是一个重复的问题,我不知道调用了什么方法。

这取决于具体情况。我个人会在页面上放置元素,然后使用CSS display属性根据需要隐藏或显示它。现在的浏览器速度足够快,JavaScript元素的创建/删除不会对客户端造成负担,所以这不是什么大问题,但从可维护性的角度来看,这似乎是一种更干净的方法

在不知道您正在构建的内容的上下文的情况下很难判断,但我通常会使用一个目标占位符,例如DIV,在请求内容时将内容加载到该占位符中。因此,在加载内容之前,占位符DIV不可见。这对于单页应用程序非常有用,因为在这些应用程序中,您不希望同时加载大量数据,并在每个请求的基础上获取这些内容


对于较小的任务,显示或隐藏元素就足够了,特别是如果元素中的内容不是动态的。

这实际上取决于环境。我个人会在页面上放置元素,然后使用CSS display属性根据需要隐藏或显示它。现在的浏览器速度足够快,JavaScript元素的创建/删除不会对客户端造成负担,所以这不是什么大问题,但从可维护性的角度来看,这似乎是一种更干净的方法

在不知道您正在构建的内容的上下文的情况下很难判断,但我通常会使用一个目标占位符,例如DIV,在请求内容时将内容加载到该占位符中。因此,在加载内容之前,占位符DIV不可见。这对于单页应用程序非常有用,因为在这些应用程序中,您不希望同时加载大量数据,并在每个请求的基础上获取这些内容


对于较小的任务,显示或隐藏元素就足够了,特别是如果元素中的内容不是动态的。

对于搜索引擎优化,我会使用CSS方法。

对于搜索引擎优化,我会使用CSS方法。

我更喜欢将标记与JavaScript分开保存在不同的文件中我发现,如果所有标记都在同一个位置,而所有脚本都在不同的位置,那么维护代码就更容易了


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

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


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

重复与否,这个问题是基于观点的。所以,这更像是一种偏好?我的意思是,有不同的情况,在某些情况下,使用一个比另一个更自然,在不同的情况下,这是相反的。这还取决于si的背景tuation.所以我不认为你能对这样的问题给出一个普遍的答案。我的方法是问这个元素在关闭JS的情况下是否有任何意义。如果没有,那么我通过JS添加它。重复与否,这个问题是基于观点的。所以,这更像是一个偏好?嗯,我的意思是有不同的情况在某些情况下,在不同的情况下,使用一个元素比使用另一个元素更为自然。这也取决于情况的背景。因此,我不认为你能对这样的问题给出一个普遍的答案。我的方法是问,在关闭JS的情况下,元素是否有任何意义。如果没有,那么我添加它通过JS。