什么时候拥有更多或更少的html元素更好
When is it better to have more or less html elements?
标题问题很好地总结了我的想法,但让我解释一下我是如何得出这个问题的。
我正在为一个内容丰富的社交网站开发导航栏。我正在使用flexbox来对齐导航项。首先,我在所有这些项周围包装了一个div标记,但后来我问自己,如果我可以不添加代码,为什么要在这里添加更多代码。或者更普遍地说,如果我有很多html元素,尤其是关于javascript/jquery的元素,那么整体性能会变得更差吗。我想是的。但也许有时,添加更多的元素以获得更清晰的结构,甚至是w3c规则的强制性元素,会更明智吗?
导航栏HTML代码使用最少的元素看起来是这样的(我删除了这里的大部分id类和css以保持清晰):
<body>
<nav class="flexBox">
<a class="flexItem">
<!--icon background image-->
</a>
<form class="flexItem">
<!--search form content-->
</form>
<ul class="flexItem">
<!--some li elements-->
</ul>
<div class="flexItem">
<!--some grouped content-->
</div>
<a class="flexItem">
<!--icon background image-->
</a>
</nav>
</body>
CSS:
.flexItem{
display: block;
}
.flexBox{
display:flex;
flex-direction:row;
}
这样做合法吗?这样做明智吗?与将div封装在它周围相比,性能是否更好(假设页面上到处都是js)。
我在谷歌上没有发现任何关于html元素数量和性能之间关系的信息。希望这里有人能帮我。
您不应该关心html元素的数量,因为实际上大多数浏览器可以处理比您所说的差异更大的内存使用量。
不过,javascript方面可能更令人担忧。如果您有许多元素,并且正在使用jquery引用它们,那么可能会有大量的内存分配,这可能是一个问题。有了适当的内存管理和对范围和初始化之类的事情的关注,这对你来说应该不是问题。
无论使用多少元素,都应该使用最适合您任务的html。
为浏览器构建文档的方式绝对没有限制。
您可以根据需要将代码构建得美观且易于管理。但是,您应该记住,由您编写/加载的相关联的javascript不会对文档的性能造成足够的压力。
例如,在鼠标悬停事件上编写一些可能会阻塞浏览器的事件处理程序[考虑到循环是脚本化的或其他一些长时间运行的操作]。
- 如何设置html元素填充的动画
- 删除对HTML元素的拖动
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 一个html元素的克隆次数太多
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- 为什么我在Internet Explorer上看不到html元素
- 重新排列HTML元素的顺序并更改内容
- 使用.on动态添加jquery/js不知道的html元素
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何将html元素添加到tampermonkey中
- 访问html元素值javascript
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- 自定义HTML元素属性未显示-Web组件
- 让HTML元素充当停止滚动的锚点
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 替换HTML元素中的字符
- 如何将html元素添加为生成的内容
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 使用JS加载HTML元素