Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';隐藏/显示HTML元素或删除/插入HTML元素更快?_Javascript_Html_Dom - Fatal编程技术网

Javascript 什么';隐藏/显示HTML元素或删除/插入HTML元素更快?

Javascript 什么';隐藏/显示HTML元素或删除/插入HTML元素更快?,javascript,html,dom,Javascript,Html,Dom,我正在开发一个导航栏,其中选定的按钮由三角形标记。我是否在导航栏的每个按钮中都放置了一个三角形,并且除了一个三角形外,其他所有三角形都不可见(或可见,但背景与按钮相同)?还是删除三角形并将其重新插入新按钮 我知道对性能的影响可能可以忽略不计,但我正在学习我的诀窍,所以我主要是出于好奇(并想学习最佳实践)我会用CSS做这类事情。创建一个“active”类,然后使用javascript添加/删除该类。这更干净,让您可以更好地控制所选指示器的样式(在本例中为三角形) 现在使用JS在特定选项卡上添加ac

我正在开发一个导航栏,其中选定的按钮由三角形标记。我是否在导航栏的每个按钮中都放置了一个三角形,并且除了一个三角形外,其他所有三角形都不可见(或可见,但背景与按钮相同)?还是删除三角形并将其重新插入新按钮


我知道对性能的影响可能可以忽略不计,但我正在学习我的诀窍,所以我主要是出于好奇(并想学习最佳实践)

我会用CSS做这类事情。创建一个“
active
”类,然后使用javascript添加/删除该类。这更干净,让您可以更好地控制所选指示器的样式(在本例中为三角形)


现在使用JS在特定选项卡上添加
active
类并从其他选项卡上删除。每个菜单项上都应该有一个三角形的空间。它应该设置为悬停时可见。将某些东西从不可见设置为可见几乎不需要时间。它比删除和加载选定内容上的图像更好。

您可以在选定按钮上添加css类,并在性能方面显示带有css(例如背景图像)的三角形:只有您可以使用客观基准回答这一问题。你的问题的其余部分是基于观点的,因为没有“正确”的答案。就我个人而言,我可能会使用CSS类添加相关内容并在必要时应用它。通常情况下,删除原因隐藏和插入原因显示。由于这只是一个小三角形,而不是复杂的动画,您不应该看到性能上的巨大差异。但如前所述,CSS为您提供了一种更易于维护的方式来设置元素的样式(只需添加/删除一个类)。测量它并找出……?????????第二个点是一个逻辑“和”。是的。在CSS中,我们喜欢这样做。@titаааtit。不,点是CSS类选择器的一部分
.active
。这不是一个逻辑和逻辑的问题。是什么使得它和两个类名都粘在一起,中间没有空间。code>.normal.active将选择
.active
元素中的
.normal
元素。把它们粘在一起,就可以得到两个类都有的元素。谢谢。(虽然它不是悬停,但更像是一个粘性按钮)
.normal{
   //normal css for all tabs
}

.normal.active{
   //triangle CSS for active one
}