返回元素以显示的优雅方式:无



我有一个下拉列表,以及默认使用 css display:none的元素列表。目前,从下拉列表中选择元素时,它将更改为display:block

我缺少的是,一旦选择了新元素,如何将元素更改display:none。我知道我可以编写一个循环来不断检查每个元素并将其更改为display:none但这似乎很麻烦。我真正的问题有大约 100 个元素,当其中 99 个元素已经被隐藏时,重新隐藏所有这些元素似乎很浪费。

好奇在jQuery(或javascript(中做到这一点最优雅的方法是什么。我所拥有的小提琴在这里:

https://jsfiddle.net/3w66k51z/4/

谢谢!

我在.show((调用之前添加了$(".sReport").hide();以隐藏所有元素。

jQuery.hide(( 会将元素的显示设置为 none

斯菲德尔

您可以添加状态,以便您知道当前显示的项目(如果有(并仅隐藏该元素。我知道您不想隐藏所有项目,因为它们中的大多数已经隐藏。

这是这个想法的简单实现。

(我想你真正的问题涉及比小提琴更多的隐藏项目。如果不是 - 也许即使如此 - 这可能是一个过早的优化,对所有项目调用.hide()或任何内容都没有错。

创建元素数组,然后创建一个函数来隐藏所有元素,但不隐藏您想要显示的元素。

相关内容

  • 没有找到相关文章

最新更新